Een string naar lang converteren in vba (met voorbeelden)
U kunt de CLng- functie in VBA gebruiken om een tekstreeks naar een lang gegevenstype te converteren.
Hier zijn twee veelvoorkomende manieren om deze functie in de praktijk te gebruiken:
Methode 1: String converteren naar lang in VBA
Sub ConvertStringToLong () Dim i As Integer For i = 2 To 11 Range(" B " & i) = CLng(Range(" A " & i)) Next i End Sub
Deze specifieke macro converteert elke tekenreeks in het bereik A2:A11 naar een lang gegevenstype en geeft lange waarden weer in het bereik B2:B11 .
Methode 2: Converteer een string naar lang in VBA (alleen als de string een getal is)
Sub ConvertStringToLong()
Dim i As Integer
For i = 2 To 11
If IsNumeric(Range(" A " & i)) Then
Range(" B " & i) = CLng(Range(" A " & i))
Else
Range(" B " & i) = 0
End If
Next i
End Sub
Deze specifieke macro converteert elke tekenreeks in het bereik A2:A11 alleen naar een lang gegevenstype als de tekenreeks een getal is. Anders wordt de tekenreeks geconverteerd naar een nulwaarde.
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.
Voorbeeld 1: converteer een string naar lang in VBA
Laten we zeggen dat we de volgende kolom met waarden in Excel hebben, momenteel opgemaakt als tekstreeksen:
Stel dat we elke string naar een lang gegevenstype willen converteren en deze in kolom B willen weergeven.
We kunnen hiervoor de volgende macro maken:
Sub ConvertStringToLong () Dim i As Integer For i = 2 To 11 Range(" B " & i) = CLng(Range(" A " & i)) Next i End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Houd er rekening mee dat elke tekstreeks in kolom A is geconverteerd naar een lang gegevenstype en wordt weergegeven in kolom B.
Voorbeeld 2: Converteer een string naar lang in VBA (alleen als de string een getal is)
Laten we zeggen dat we de volgende kolom met waarden in Excel hebben, momenteel opgemaakt als tekstreeksen:
Stel dat we elke string alleen naar een lang gegevenstype willen converteren als de string een getal is en deze in kolom B willen weergeven.
We kunnen hiervoor de volgende macro maken:
Sub ConvertStringToLong()
Dim i As Integer
For i = 2 To 11
If IsNumeric(Range(" A " & i)) Then
Range(" B " & i) = CLng(Range(" A " & i))
Else
Range(" B " & i) = 0
End If
Next i
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Houd er rekening mee dat alleen tekstreeksen in kolom A die getallen zijn, worden geconverteerd naar lange gegevenstypen in kolom B.
Anders worden tekstreeksen eenvoudigweg geconverteerd naar een nulwaarde.
Opmerking : u kunt hier de volledige documentatie voor de VBA CLng- functie vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:
VBA: spaties uit een string verwijderen
VBA: het aantal tekens in een string tellen
VBA: hoe controleer je of een string een andere string bevat?