Neue Zeile einfügen, aber mit Formeln der Darunterliegenden

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Hago
****
Beiträge: 135
Registriert: Di, 07.12.2004 16:44

Neue Zeile einfügen, aber mit Formeln der Darunterliegenden

Beitrag von Hago »

Hallo,

ich habe eine Tabelle, die ich fast täglich dadurch ergänze, dass ich über der Zeile 6 eine neue Zeile und neue Werte einfüge.
Beim Einfügen der neuen Zeile werden zwar Teile der Formatierung übernommen, wie Schriftgröße und Zeilenhöhe, aber nicht die Formeln - das hätte ich aber gerne.
Jetzt muss ich immer die letzte Zeile nochmal kopieren und die Formeln extra einfügen.

Weiß mir da jemand Rat?

Gruß, Hago
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Hago,

na, wenn es so oft vorkommt, so schreib doch ein Makro. Dann bist du die Probleme auf einen Schlag los :wink:

Und wenn du Hilfe brauchst - hier bist du richtig. Dann brachen wir aber mal ein paar mehr informationen über deine Zeile (und die dort enthaltenen Formeln).

Gruss
Thomas

PS: im übrigen kann ich dein Problem auch nicht nachvollziehen. Ich markiere eine Zeile (klick auf die Zeilennummer), wähle kopieren (Strg+C),wähle "Einfügen Zeile" , und wähle "Einfügen". - alles aus dem Kontextmenü, Mauscursor auf Zeilennummer). Jetzt wurde oberhalb der aktiven(markierten) Zeile eine Zeile eingefügt und alle Daten einkopiert, samt allen Formeln? Also, wo ist dein Problem?
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Hago
****
Beiträge: 135
Registriert: Di, 07.12.2004 16:44

Beitrag von Hago »

Hallo,

einfach eine Zeile kopieren und wieder einfügen will ich ja nicht.
Ich will eine leere Zeile einfügen, aber mit den Formeln der darunterliegenden Zeile.

Ich habe inzwischen auch versucht ein Makro des Vorgangs aufzuzeichnen (neue Zeile einfügen und Formeln reinkopieren) und es mit einem Schalter zu verknüpfen.
Klappt aber nicht. Die neue Zeile wird zwar gemacht, aber die Formeln werden nicht kopiert.

Die betroffene Zeile ist immer die Zeile 6.
Über ihr soll eine neue Zeile eingefügt werden - leer aber mit den Formeln der bisherigen Zeile 6.
Die Formeln befinden sich in den Zellen D,F,I,J

Hago
Hago
****
Beiträge: 135
Registriert: Di, 07.12.2004 16:44

Beitrag von Hago »

Hi,

jetzt hat's mit der Makroaufzeichnung geklappt.
Ich muss erst kopieren und dann die neue Zeile einfüge.

Danke jedenfalls.

Gruß, Hago
Hago
****
Beiträge: 135
Registriert: Di, 07.12.2004 16:44

Beitrag von Hago »

Hallo,

zu früh gefreut.
Wenn ich von Hand kopiere und einfüge geht alles.
Wenn ich den Vorgang in einem Makro aufzeichne geht es direkt nach dem Aufnehmen, aber sobald ich die Datei neu öffne, geht es nicht mehr.

Wie könnte man das denn mit einem Makro ohne Dispatcher machen?
Ich kann das leider nicht. Kann mir da jemand helfen?

Gruß, Hago
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Hago,
Ich kann das leider nicht. Kann mir da jemand helfen?
Klar. Eine der einfachsten Übungen :wink:

Nebenbedingungen: 1. Tabellenblatt, die Zeile wird immer als 6. Zeile eingefügt (die bisherige 6. Zeile wird jetzt Nr. 7 usw), nur die Formeln der Zellen (Spalten) D,F,I,J werden kopiert :

Code: Alles auswählen

Sub ZeileKopieren
	osheet = thisComponent.sheets(0) ' erstes Tabellenblatt
	oSheet.rows.insertByIndex(5,1) '1 Zeile nach der 5. Zeile einfügen
	dim a()
	a = array("D", "F", "I", "J")
	for i=0 to 3
		oZiel = oSheet.getCellRangeByName(a(i) & "6").CellAddress
		oQuelle = oSheet.getCellRangeByName(a(i) & "7:" & a(i) &"7").RangeAddress
		oSheet.copyRange(oZiel, oQuelle)
	next
		
End Sub
Brauchst du anderes, pass es entsprechend an - oder frag noch mal.

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Hago
****
Beiträge: 135
Registriert: Di, 07.12.2004 16:44

Beitrag von Hago »

Hallo Thomas,

vielen Dank - klappt ausgezeichnet, genau wie ich's will.

Gruß, Hago
Antworten