Hallo
Ich suche nach einer Funktion, die mit bei einem Tabellebdokument den Namen einer Spalte (die Buchstabenkombination) anhand einer Nummer ermittelt.
z.B.
Spltenname(0)="A"
Spltenname(4)="E"
Spltenname(26)="AA"
usw.
Spalten-Buchstabe(n) per Funktion ermitteln
Moderator: Moderatoren
Code: Alles auswählen
Function Spltenname (x As INTEGER)
Dim nb,i As Integer
Dim AdrStr As String
AdrStr = ""
nb= (x+1) / 26
if ( nb >= 1 ) then
AdrStr = Chr(64 + Fix(nb))
end if
Spltenname = AdrStr+Chr((x mod 26)+65)
End Function
Gruß
Stephan
Danke für die schnelle Antwort!
Die Funktion die du geschrieben hast funktioniert, ich habe aber nun nach langen Nachforschungen selber eine Lösung gefunden, die auch noch für mehr als 2-stellige Buchstabenkombinationen geht:
Die Funktion die du geschrieben hast funktioniert, ich habe aber nun nach langen Nachforschungen selber eine Lösung gefunden, die auch noch für mehr als 2-stellige Buchstabenkombinationen geht:
Code: Alles auswählen
Dim Doc As Object
Dim Sheet As Object
Dim Spaltennummer As Integer
Dim Spaltenname As String
Doc = ThisComponent
Sheet = Doc.Sheets(0)
'Eigendliche "Funktion"
Spaltenname = Sheet.Columns( Spaltennummer ).getName()
Naja, ich frage jetzt nicht wofür Du mehr als zweistellige Buchstabenkombinationen für ein Calc-Tabellenblatt brauchst. Die gibt es dort nämlich nicht, die "höchste" Buchstabenkombination ist IV.
Bloß Tatsache ist doch das diese Zeile für alle Werte "Spaltennummer" größer als 255 zu einem Fehler führt:
Du kommst also auch hier nur bis maximal IV.
Oder was verstehe ich falsch?
Gruß
Stephan
Bloß Tatsache ist doch das diese Zeile für alle Werte "Spaltennummer" größer als 255 zu einem Fehler führt:
Code: Alles auswählen
Spaltenname = Sheet.Columns( Spaltennummer ).getName()
Oder was verstehe ich falsch?
Gruß
Stephan