Komlomnummer naar kolomnaam

  • Onderwerp starter Onderwerp starter EfBe
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

EfBe

Gebruiker
Lid geworden
15 dec 2008
Berichten
45
Hallo forumleden
Ik zoek een vba code om van een kolomnummer de kolomnaam te verkrijgen vb kolom '10' is 'J'
Hier op het forum gevonden.
https://www.helpmij.nl/forum/showthread.php/463583-Zelfde-macro-in-meerdere-kolommen

Code:
Private Function KolomLetter(KolomNummer As Integer) As String
Dim Letter As Integer, Rest As Integer
  
  Letter = KolomNummer \ 27
  Rest = KolomNummer - (Letter * 26)
  
  If Letter > 0 Then
    KolomLetter = Chr(Letter + 64)
  End If
  
  If Rest > 0 Then
    KolomLetter = KolomLetter & Chr(Rest + 64)
  End If
  
End Function
Dit werkt perfect, tot en met kolomnummer 78 >

Hier een stukje uit de code die ik wil gebruiken
Code:
Sub Test()
Dim I As Integer
'In mijn routine tem kolom 78 geen probleem
With Sheets("KolomnrKolomnaam")
    I = .UsedRange.Columns.Count
    Kolom = KolomLetter(I) 'Kolomnummer omzetten naar Kolomnaam
    
    'om te testen
    'op rij 1 zet ik het kolomnummer
    'op rij 2 de overeenstemmende kolomnamen
    'daar kan je dus zien dat het fout loopt vanaf kolom 79
    C = 1
    .Cells(1, 1) = 1
    For I = C To 801
        .Cells(1, C + 1) = .Cells(1, C).Value + 1
        Kolom = KolomLetter(I) 'Kolomnummer omzetten naar Kolomnaam
        .Cells(2, C).Value = Kolom
        C = C + 1
    Next I
End With
End Sub
Zie testbestand in bijlage
 

Bijlagen

Dat kan toch veel eenvoudiger.
Bijvoorbeeld:
Code:
KolomNummer = 800 [COLOR="#008000"]'ADT[/COLOR]
Debug.Print Split(Cells(1, KolomNummer).Address, "$")(1)
 
Laatst bewerkt:
EdMoor, Super bedankt dat is inderdaad korter en bovendien werkt het.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan