- Offizieller Beitrag
Ich hatte das mal in einem Hilfebeitrag gepostet, allerdings nur für den Adressbereich vor Office 2007.
Diese Funktionen berücksichtigen nun beim Konvertieren den erweiterten Adressbereich:
; === Spaltenadresse zu Nummer
Func _LetterToColNr($_sLetter)
$_sLetter = StringUpper($_sLetter)
Local $iNum, $a = StringSplit($_sLetter, '')
Switch $a[0]
Case 3
$iNum = (Asc($a[1]) -64) *26 *26
$iNum += (Asc($a[2]) -64) *26
$iNum += (Asc($a[3]) -64)
Case 2
$iNum = (Asc($a[1]) -64) *26
$iNum += (Asc($a[2]) -64)
Case 1
$iNum = Asc($a[1]) -64
EndSwitch
Return $iNum
EndFunc
; === Spaltennummer zu Adresse
Func _ColNrToLetter($_iColNr)
Local $s1 = '', $s2 = '', $s3 = '', $i
$i = Int($_iColNr /(26*26))
If $i <> 0 Then
$s1 = Chr(64 +$i)
$_iColNr = Mod($_iColNr, 26*26)
EndIf
$i = Int($_iColNr /26)
If $i <> 0 Then
$s2 = Chr(64 +$i)
$_iColNr = Mod($_iColNr, 26)
EndIf
$s3 = Chr(64 +$_iColNr)
Return $s1 & $s2 & $s3
EndFunc