von F3K Total » So, 18.09.2016 10:32
Hallo BastiFfo,
nun hat clag dir schon ein Makro geschickt, ich hatte eben Lust dazu und habe etwas umfangreicheres geschrieben:
Code: Alles auswählen
Sub Copy_to_Selected_Sheet
oController = ThisComponent.CurrentController
oSheets = ThisComponent.Sheets
oSheet = oSheets.getbyname("Eingabe")
oInputCell = oSheet.getCellbyposition(0,3)'per Index, beginnt bei 0, entspricht Zelle A4
dValue = oInputCell.Value
olstFirmenauswahl = oSheet.drawpage.Forms.getbyName("FormularFirmenauswahl").getbyName("lstFirmenauswahl")'Listenfeld
sTargetSheetName = olstFirmenauswahl.CurrentValue'Zielblattname
oTargetSheet = oSheets.getByname(sTargetSheetName)'Zielblatt wählen
oTargetRange = oTargetSheet.Columns.Getbyindex(0).queryEmptyCells.getbyindex(0)'Zielzellbereich, Spalte A (Index 0), erster leerer Zellbereich
oTargetCell = oTargetRange.getCellbyPosition(0,0)'leerer Zellbereich, erste leere Zelle
oController.ActiveSheet = oTargetSheet'zum Zielblatt springen
oController.Select(oTargetCell)'Zielzelle selektieren
oTargetCell.Value = dValue'Wert eintragen
wait 1000
oController.ActiveSheet = oSheet'zum Eingabeblatt springen
oController.Select(oInputCell)'Eingabezelle selektieren
End Sub
Es ließt den Zieblattnamen aus einem Listenfeld, nimmt den Wert aus der Eingabezelle, und schreibt ihn ans Ende einer Zielspalte auf dem gewählten Zieltabellenblatt. Dabei wechselt die Ansicht, so dass man dies auch sehen kann.
Anbei eine Beispieldatei.
Gruß R
- Dateianhänge
-
- CopyToSelectedSheet.ods
- (11.91 KiB) 80-mal heruntergeladen
Hallo BastiFfo,
nun hat clag dir schon ein Makro geschickt, ich hatte eben Lust dazu und habe etwas umfangreicheres geschrieben:[code]Sub Copy_to_Selected_Sheet
oController = ThisComponent.CurrentController
oSheets = ThisComponent.Sheets
oSheet = oSheets.getbyname("Eingabe")
oInputCell = oSheet.getCellbyposition(0,3)'per Index, beginnt bei 0, entspricht Zelle A4
dValue = oInputCell.Value
olstFirmenauswahl = oSheet.drawpage.Forms.getbyName("FormularFirmenauswahl").getbyName("lstFirmenauswahl")'Listenfeld
sTargetSheetName = olstFirmenauswahl.CurrentValue'Zielblattname
oTargetSheet = oSheets.getByname(sTargetSheetName)'Zielblatt wählen
oTargetRange = oTargetSheet.Columns.Getbyindex(0).queryEmptyCells.getbyindex(0)'Zielzellbereich, Spalte A (Index 0), erster leerer Zellbereich
oTargetCell = oTargetRange.getCellbyPosition(0,0)'leerer Zellbereich, erste leere Zelle
oController.ActiveSheet = oTargetSheet'zum Zielblatt springen
oController.Select(oTargetCell)'Zielzelle selektieren
oTargetCell.Value = dValue'Wert eintragen
wait 1000
oController.ActiveSheet = oSheet'zum Eingabeblatt springen
oController.Select(oInputCell)'Eingabezelle selektieren
End Sub[/code]Es ließt den Zieblattnamen aus einem Listenfeld, nimmt den Wert aus der Eingabezelle, und schreibt ihn ans Ende einer Zielspalte auf dem gewählten Zieltabellenblatt. Dabei wechselt die Ansicht, so dass man dies auch sehen kann.
Anbei eine Beispieldatei.
Gruß R