Bei Michael Dannenhöfer findet sich ein Makro, mithilfe dessen man aus der Position einer Zelle heraus auf den Zellnamen kommt.
Ich habe Umgekehrtes vor. Das User ist aufgerufen einen Spaltennamen einzugeben und das Makro arbeitet mit der Positionsnummer weiter. Meine umständliche kreative Lösung sieht so aus:
Sub Spaltenposition
osheet = ThisComponent.CurrentController.ActiveSheet
osheet = thisComponent.sheets.getByName(osheet.name)
eing = InputBox("Bitte geben Sie den Buchstaben der Spalte an (groß oder klein), mit der" & chr(13)_
& "weitergearbeitet werden soll! (Bei Nichteingabe wird der Vorgang beendet)!",, )
On Error GoTo Schluss:
oSpalte1 = oSheet.getColumns().getByName(eing)
cellname = eing + 5
oCell_1 = osheet.getCellRangeByName(cellname)
ThisComponent.currentController.select( oCell_1 )
oCell_1 = ThisComponent.getCurrentSelection().getCellAddress()
pos = oCell_1.Column
msgbox "Position: " & pos
Exit Sub
Schluss:
msgbox "Sie haben keine gültige Spaltenbezeichnung gewählt. Der Vorgang wird abgebrochen."
End Sub
Die Frage ist: gibt es vielleicht auch einen direkten Weg um auf die Spaltenposition zu kommen – also ohne erst eine Zelle zu selektieren?
Danke vorab,
Ralf
Zuletzt geändert von Ralf R am Mo, 20.09.2021 19:16, insgesamt 1-mal geändert.
Sub Spaltenposition
eing = InputBox("Bitte geben Sie den Buchstaben der Spalte an (groß oder klein), mit der" & chr(13)_
& "weitergearbeitet werden soll! (Bei Nichteingabe wird der Vorgang beendet)!",, )
On Error GoTo Schluss:
msgbox "Position: " & ThisComponent.Sheets(0).getCellRangeByName(eing &1).CellAddress.Column
Exit Sub
Schluss:
msgbox "Sie haben keine gültige Spaltenbezeichnung gewählt. Der Vorgang wird abgebrochen."
End Sub
LO7.4.7.2debian 12(bookworm) auf Raspberry4b 8GB (64bit) LO7.6.2.1 flatpakdebian 12(bookworm) auf Raspberry4b 8GB (64bit)