Zeile in ANDERER Tabelle kopieren ohne diese aufzurufen
Moderator: Moderatoren
Zeile in ANDERER Tabelle kopieren ohne diese aufzurufen
Hallo an alle,
bitte, wie kann ich einen Bereich in einem Tabellenblatt kopieren und einfügen, ohne das ich von meinem derzeit aktivierten Tabellenblatt wechsel?
Bsp: ich bin in Blatt "Eingabe". Im Blatt "Kunden" werden die Eingaben von "Eingabe" in Zeile 2 angezeigt. Nun möchte ich vom Blatt "Eingabe" aus die Zeile 2 in "Kunden" kopieren und in Zeile 3 ohne Formeln einfügen. Wenn ich das mit dem Rekorder aufnehme, wechsel ich zwangsläufig in "Kunden" und am Ende wieder zurück. Ich möchte aber, dass das passiert ohne das die Tabellenblätter wechseln.
Danke für die Hilfe
PS: Praktisch wäre es, wenn die Kundeneingabe in "Eingaben" gleich und automatisch in eine Datenbank geschrieben würden, aber ich kenne mich in basic nicht aus, sodass ich diesen Umweg nehme.
bitte, wie kann ich einen Bereich in einem Tabellenblatt kopieren und einfügen, ohne das ich von meinem derzeit aktivierten Tabellenblatt wechsel?
Bsp: ich bin in Blatt "Eingabe". Im Blatt "Kunden" werden die Eingaben von "Eingabe" in Zeile 2 angezeigt. Nun möchte ich vom Blatt "Eingabe" aus die Zeile 2 in "Kunden" kopieren und in Zeile 3 ohne Formeln einfügen. Wenn ich das mit dem Rekorder aufnehme, wechsel ich zwangsläufig in "Kunden" und am Ende wieder zurück. Ich möchte aber, dass das passiert ohne das die Tabellenblätter wechseln.
Danke für die Hilfe
PS: Praktisch wäre es, wenn die Kundeneingabe in "Eingaben" gleich und automatisch in eine Datenbank geschrieben würden, aber ich kenne mich in basic nicht aus, sodass ich diesen Umweg nehme.
Grüße aus Niedersachsen,
Achimgr
Re: Zeile in ANDERER Tabelle kopieren ohne diese aufzurufen
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Zeile in ANDERER Tabelle kopieren ohne diese aufzurufen
Hallo Karo,
vielen dank für den link.
leider verstehe ich es nicht. ich sehe nicht, wie und wo ich meine aufnahme (per makrorecorder) abändern muss:
DIES sehe ich bei meiner Aufnahme:
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 2
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Nr"
args4(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args4())
Ich möchte zB NICHT"jump to table"
kannst du mir da helfen? oder gerne andere?
vielen dank für den link.
leider verstehe ich es nicht. ich sehe nicht, wie und wo ich meine aufnahme (per makrorecorder) abändern muss:
DIES sehe ich bei meiner Aufnahme:
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 2
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Nr"
args4(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args4())
Ich möchte zB NICHT"jump to table"
kannst du mir da helfen? oder gerne andere?
Grüße aus Niedersachsen,
Achimgr
Re: Zeile in ANDERER Tabelle kopieren ohne diese aufzurufen
Hallo
Den aufgezeichneten Code kannst du komplett löschen.
folgendes kopiert den Bereich A3:K3 aus dem Blatt "kunden" in den Bereich A2:K2 im Blatt "Eingabe"
Gruß Karo
Den aufgezeichneten Code kannst du komplett löschen.
folgendes kopiert den Bereich A3:K3 aus dem Blatt "kunden" in den Bereich A2:K2 im Blatt "Eingabe"
Code: Alles auswählen
sub bereich_kopieren
oDocument = ThisComponent
oQuellblatt = oDocument.Sheets().getByName("kunden")
oZielblatt = oDocument.Sheets().getByName("Eingabe")
' Quellbereich festlegen
oQuelleRange = oQuellblatt.getCellRangeByName("A3:K3")
oQuellRangeAddresse = oQuelleRange.getRangeAddress
oZiel = oZielblatt.getCellByPosition(0,1) 'einfügen ab A2
oZielCellAdresse=oZiel.getCellAddress
oZielblatt.copyRange(oZielCellAdresse,oQuellRangeAddresse)
end sub
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Zeile in ANDERER Tabelle kopieren ohne diese aufzurufen
hallo karo,
ja das ist ja perfekt! vielen dank.
das sieht schon lange nicht mehr so kompliziert aus, wie mein aufgezeichneter code.
kann ich mich ja vielleicht doch mal reinarbeiten.
Nur eines bitte noch:
wie muss es heissen, das dass einfügen OHNE formeln passiert?
Danke im voraus.
ja das ist ja perfekt! vielen dank.
das sieht schon lange nicht mehr so kompliziert aus, wie mein aufgezeichneter code.
kann ich mich ja vielleicht doch mal reinarbeiten.
Nur eines bitte noch:
wie muss es heissen, das dass einfügen OHNE formeln passiert?
Danke im voraus.
Grüße aus Niedersachsen,
Achimgr
Re: Zeile in ANDERER Tabelle kopieren ohne diese aufzurufen
NACHTRAG:
und es soll eingefügt werden (zeilen nach unten schieben)
im moment überschreibt er/es immer wieder.
danke nochmal
und es soll eingefügt werden (zeilen nach unten schieben)
im moment überschreibt er/es immer wieder.
danke nochmal
Grüße aus Niedersachsen,
Achimgr
Re: Zeile in ANDERER Tabelle kopieren ohne diese aufzurufen
hallo??
Nur eines bitte noch:
wie muss es heissen, das dass einfügen OHNE formeln passiert?
und es soll eingefügt werden (zeilen nach unten schieben)
im moment überschreibt er/es immer wieder.
Danke euch
Nur eines bitte noch:
wie muss es heissen, das dass einfügen OHNE formeln passiert?
und es soll eingefügt werden (zeilen nach unten schieben)
im moment überschreibt er/es immer wieder.
Danke euch
Grüße aus Niedersachsen,
Achimgr
Re: Zeile in ANDERER Tabelle kopieren ohne diese aufzurufen
Hallo
Gruß Karo
Code: Alles auswählen
sub Datenbereich_kopieren_Zeileeinfuegen
oDocument = ThisComponent
oQuellblatt = oDocument.Sheets().getByName("kunden")
oZielblatt = oDocument.Sheets().getByName("Eingabe")
orows = ozielblatt.getrows()
orows.insertbyindex(1,1)'Zeile2 wird eingefügt
adaten = oQuellblatt.getCellRangeByName("A3:K3").getDataarray()
'Achtung Quell- und Zielbereich müssen identisch dimensioniert sein
oZielblatt.getCellrangeByName("A2:K2").setdataarray(adaten) 'einfügen in A2:K2
end sub
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Zeile in ANDERER Tabelle kopieren ohne diese aufzurufen
coooool - vielen dank karolus.
warum heißt es: a daten oder auch o zielblatt?
was bedeutet a + o? kann man das kurz erklären?
warum heißt es: a daten oder auch o zielblatt?
was bedeutet a + o? kann man das kurz erklären?
Grüße aus Niedersachsen,
Achimgr
Re: Zeile in ANDERER Tabelle kopieren ohne diese aufzurufen
Hallo Achim
Eigentlich kann man diese Namen beliebig definieren, solange man keine der innerhalb von Basic reservierten Bezeichnungen nimmt.
Es sollte aber ein "sprechender" Name sein.
Die verschiedenen vorangestellten Buchstaben erleichtern später bei komplexem Code die Übersicht darüber was Objekt, was Array, string(Text); usw. ist.
Gruß Karo
Eigentlich kann man diese Namen beliebig definieren, solange man keine der innerhalb von Basic reservierten Bezeichnungen nimmt.
Es sollte aber ein "sprechender" Name sein.
Die verschiedenen vorangestellten Buchstaben erleichtern später bei komplexem Code die Übersicht darüber was Objekt, was Array, string(Text); usw. ist.
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)