Menu Sluiten

Kolomcijfers omzetten naar kolomletters in VBA

Functies vba excel macro

Als er één functie is binnen VBA die ik eigenlijk altijd meteen in een workbook plaats voordat ik begin met scripten dan is het wel de onderstaande kolomtxt functie. De reden hiervoor is dat je bijna altijd binnen Excel werkt met het aangeven van ranges. Voor ranges binnen Excel worden de kolommen gekoppeld aan letters en de rijen aan cijfers. Als ik echter de .find zoekfunctie gebruik dan wordt de kolom van de gevonden cell teruggegeven als cijfer. Indien ik deze kolom vervolgens weer wil gebruiken in een range dan zal ik dit getal dus moeten omzetten naar een letter. De onderstaande functie doet deze omzetting voor je. Denk er wel aan dat je om deze functie te gebruiken de variabele met de kolomcijfer moet dimmen als een integer en de output ( de kolomletter)  als een string. 

Public Function KolomTxt(Kolom As Integer) As String
    
    Dim strLinks As String
    Dim kolomBehouden As Integer
    
    kolomBehouden = Kolom
    
    If Kolom > 26 Then
        strLinks = Chr$(Int(Kolom / 26) + 64)
        Kolom = Kolom Mod 26
    End If
    
    If Kolom = 0 Then
        strLinks = Chr$(Asc(strLinks) - 1)
        KolomTxt = strLinks & "Z"
    Else
        KolomTxt = strLinks & Chr$(Kolom + 64)
    End If
    
    Kolom = kolomBehouden
    
End Function

Letters omzetten naar cijfers VBA

Indien je letters om wilt zetten naar cijfers dan kun je dit ook makkelijk doen door deze letter te gebruiken in een kolom. Wat je dan doet is de letter gebruiken in een range om een kolom mee aan te duiden. Als je vervolgens achter deze range ‘.column’ plaatst dan krijg je het nummer van de locatie van de letter in het alfabet.

Sub LetterOmzettenNaarCijfer()

    kolom = Blad1.Range("B1").Column
    MsgBox kolom

End Sub

Als je de bovenstaande code afspeelt dan zie je dat de waarde van kolom het cijfer 2 is. Dit staat gelijk aan de positie van de letter B in het alfabet. 

Mocht je vragen hebben met de toepassing van deze functie. Laat het mij weten via de reacties!

Heeft dit artikel je geholpen?

3 reacties

  1. Pingback:Structuur van een macro / VBA script - Macro Excel Advies

  2. Pingback:Ranges in VBA - Macro Excel Advies

  3. Pingback:De range.find methode VBA Excel -

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *