Sub SpaltenBreite
Dim oSpalte as Object
Dim iBreiteSpalte as Integer'Variable für die div. Spaltenbreiten
calcDoc = ThisComponent
oAktivesBlatt = calcDoc.CurrentController.activeSheet
'--Spalte A bis K in der Breite festlegen
For SpNr = 0 to 10
if oDlg.getControl("numSp"+SpNr).value > 0 then
iBreiteSpalte = oDlg.getControl("numSp"+SpNr).value
oSpalte =oAktivesBlatt.getColumns.getByIndex(SpNr)
oSpalte.width = (iBreiteSpalte) * 100
end if
next SpNr
End Sub
Ja.
Es liegt eine Mehrfachselektion vor, das diese auf mehreren Blättern 'stattfindet' ändert nichts.
Also die Seletion ermitteln, ggf. prüfen ob Mehrfachselektion vorliegt (was zwangläufig der Fall sein sollte), die Anzahl der Bereiche ermitteln, durch die Einzelbereiche der Selektion interieren und den Blattnamen der Einzelselektion auslesen.
Aber aufpassen, wenn das Makro allgemein gültig sein soll.
Eine Mehrfachselektion kann auch aus mehreren Bereichen auf einer Seite bestehen.
Dann wird in der Schleife immer dasselbe Arbeitsblatt verwendet.