[Gelöst] Calc: Listenfeld und Spalten kopieren
Verfasst: Mo, 10.07.2017 21:35
Hallo Miteinander.
Bislang habe ich zum Kopieren von Spalteninhalten das nachfolgende Makro mittels einer Vielzahl von Schaltflächen verwendet.
Meine Frage nun:
Besteht die Möglichkeit, das Makro so anzupassen, dass ich statt dessen auf ein Listenfeld (Mehrfachauswahl) zugreifen kann - und es mit einem Button ausführe? So sollen z. B. bei Auswahl des 1., 2. und 4. Listeneineintrages die Inhalte der Spalten [B, C, F, G], [N, O, R, S] sowie [AL, AM, AP, AQ] der "Tabelle1_2" an die selbe Position der Tabelle "Summe" kopiert werden.
Vielleicht hat jemand von den Spezialisten eine Lösung parat.
Ich bin gespannt.
Gruß
Uwe
Bislang habe ich zum Kopieren von Spalteninhalten das nachfolgende Makro mittels einer Vielzahl von Schaltflächen verwendet.
Meine Frage nun:
Besteht die Möglichkeit, das Makro so anzupassen, dass ich statt dessen auf ein Listenfeld (Mehrfachauswahl) zugreifen kann - und es mit einem Button ausführe? So sollen z. B. bei Auswahl des 1., 2. und 4. Listeneineintrages die Inhalte der Spalten [B, C, F, G], [N, O, R, S] sowie [AL, AM, AP, AQ] der "Tabelle1_2" an die selbe Position der Tabelle "Summe" kopiert werden.
Vielleicht hat jemand von den Spezialisten eine Lösung parat.
Ich bin gespannt.
Gruß
Uwe
Code: Alles auswählen
Sub CopyRange(oEvt)
dim Celloffset as Integer
oDoc = thisComponent
oSheet = oDoc.Sheets().getbyname("Tabelle1_2")
oSheet1 = oDoc.Sheets().getbyname("Summe")
Celloffset = oEvt.Source.Model.Tag
nCelloffset = Celloffset -1
cCols = Array (1,2,5,6)
for i = 0 To uBound(cCols)
intCol = nCelloffset * 12 + cCols(i)
getCellString = ThisComponent.sheets().getbyname("Tabelle2").getcellbyposition(27,1).string
lz = getCellString
oCellRange = oSheet.getCellRangeByPosition(intCol,0,intCol,lz).getdataarray
oSheet1.getCellRangeByPosition(intCol,0,intCol,lz).setdataarray(oCellRange)
next i
End Sub