Hoe een string naar dubbel te converteren in vba (met voorbeelden)


U kunt de CDbl- functie in VBA gebruiken om een tekstreeks naar een dubbel gegevenstype te converteren.

Hier is een gebruikelijke manier om deze functie in de praktijk te gebruiken:

 Sub ConvertStringToDouble()

    Dim i As Integer

    For i = 2 To 11
        If IsNumeric(Range(" A " & i)) Then
            Range(" B " & i) = CDbl(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 dubbel gegevenstype als de tekenreeks een getal is.

Anders wordt de tekenreeks geconverteerd naar een nulwaarde.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: Converteer een string naar Double in VBA

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 dubbel gegevenstype willen converteren als de string een getal is en deze in kolom B willen weergeven.

We kunnen hiervoor de volgende macro maken:

 Sub ConvertStringToDouble()

    Dim i As Integer

    For i = 2 To 11
        If IsNumeric(Range(" A " & i)) Then
            Range(" B " & i) = CDbl(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 dubbele gegevenstypen in kolom B.

Anders worden tekstreeksen eenvoudigweg geconverteerd naar een nulwaarde.

Opmerking : u kunt hier de volledige documentatie voor de VBA CDbl- functie vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:

Hoe tekenreeks naar int in VBA te converteren
Hoe een string naar lang te converteren in VBA

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert