Hallo in die Runde,
ich hoffe meine Frage wurde nicht schon x-mal gestellt. Ich möchte per Makro bestimmte Werte aus meinem Tabellenblatt "Eingabe" in ein anderes Tabellenblatt übertragen.
Ich habe mehrere Tabellenblätter die nach Firmen benannt sind. In der Zelle A1 des "Eingabe"-Tabellenblattes kann aus den verschiedenen Firmen eine gewählt werden. OO soll nun per Makro in dieser Zelle gucken welche Firma ausgewählt ist und dann automatisch das richtige Tabellenblatt nehmen.
Ich hoffe mir kann jemand helfen.
VG
Variabler Zellinhalt als Adresse für Tabellenblatt
Moderator: Moderatoren
Re: Variabler Zellinhalt als Adresse für Tabellenblatt
Moin BastiFfo,
also das auslesen eines Textstring aus einer Zelle ist doch so ziemlich die einfachste Aufgabe für ein geschriebenes Makro
nicht getestet, aber sollte schon passen.
also das auslesen eines Textstring aus einer Zelle ist doch so ziemlich die einfachste Aufgabe für ein geschriebenes Makro
Code: Alles auswählen
oCalc = thisComponent
oEingabeTabelle = oCalc.Sheets().getByName("Eingabe")
oAuswahlzelle = oEingabeTabelle.getCellRangeByName("$A$1")
sZielName = oAuswahlzelle.String
oZielTabelle = oCalc.Sheets().getByName(sZielName)
.....
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Variabler Zellinhalt als Adresse für Tabellenblatt
Hallo BastiFfo,
nun hat clag dir schon ein Makro geschickt, ich hatte eben Lust dazu und habe etwas umfangreicheres geschrieben: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
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
Anbei eine Beispieldatei.
Gruß R
- Dateianhänge
-
- CopyToSelectedSheet.ods
- (11.91 KiB) 80-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO