Spalten-Buchstabe(n) per Funktion 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: Spalten-Buchstabe(n) per Funktion ermitteln

von nimix13 » Di, 22.03.2005 00:12

Ok, dass es nur maximal 256 Spalten geben kann wusste ich noch nicht (Ich hätte auch nicht mehr gebraucht). Dann führen die beiden Lösungen ja zum selben Ergebnis.
Nochmals danke!

von Stephan » Mo, 21.03.2005 18:19

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:

Code: Alles auswählen

Spaltenname = Sheet.Columns( Spaltennummer ).getName() 
Du kommst also auch hier nur bis maximal IV.

Oder was verstehe ich falsch?


Gruß
Stephan

von nimix13 » Mo, 21.03.2005 16:38

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:

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()

von Stephan » Mo, 21.03.2005 15:47

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

Spalten-Buchstabe(n) per Funktion ermitteln

von nimix13 » Mo, 21.03.2005 11:59

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.

Nach oben