[GELÖST] Aufgrund Spaltennamens Position ermitteln

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Ralf R
*
Beiträge: 16
Registriert: Di, 20.10.2020 17:13

[GELÖST] Aufgrund Spaltennamens Position ermitteln

Beitrag von Ralf R »

Hallo zusammen!

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:

Code: Alles auswählen

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.
Karolus
********
Beiträge: 7431
Registriert: Mo, 02.01.2006 19:48

Re: Aufgrund Spaltennamens Position ermitteln

Beitrag von Karolus »

Hallo

Code: Alles auswählen

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.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Ralf R
*
Beiträge: 16
Registriert: Di, 20.10.2020 17:13

Re: Aufgrund Spaltennamens Position ermitteln

Beitrag von Ralf R »

Perfekt und Simpel.

Danke Karolus!
Antworten