[GELÖST] Aufgrund Spaltennamens Position ermitteln

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [GELÖST] Aufgrund Spaltennamens Position ermitteln

Re: Aufgrund Spaltennamens Position ermitteln

von Ralf R » Mo, 20.09.2021 19:14

Perfekt und Simpel.

Danke Karolus!

Re: Aufgrund Spaltennamens Position ermitteln

von Karolus » Mo, 20.09.2021 18:52

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

[GELÖST] Aufgrund Spaltennamens Position ermitteln

von Ralf R » Mo, 20.09.2021 17:55

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

Nach oben