Jak przekonwertować ciąg na double w vba (z przykładami)


Możesz użyć funkcji CDbl w VBA, aby przekonwertować ciąg tekstowy na podwójny typ danych.

Oto typowy sposób wykorzystania tej funkcji w praktyce:

 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

To konkretne makro skonwertuje każdy ciąg z zakresu A2:A11 na podwójny typ danych tylko wtedy, gdy ciąg jest liczbą.

W przeciwnym razie ciąg zostanie przekonwertowany na wartość null.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Konwertuj ciąg na Double w VBA

Załóżmy, że mamy w Excelu następującą kolumnę wartości, obecnie sformatowaną jako ciągi tekstowe:

Załóżmy, że chcemy przekonwertować każdy ciąg na typ danych double tylko wtedy, gdy ciąg jest liczbą i wyświetlić je w kolumnie B.

W tym celu możemy utworzyć następujące makro:

 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

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Należy pamiętać, że tylko ciągi tekstowe w kolumnie A będące liczbami są konwertowane na typy danych double w kolumnie B.

W przeciwnym razie ciągi tekstowe są po prostu konwertowane na wartość null.

Uwaga : Pełną dokumentację funkcji VBA CDbl można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

Jak przekonwertować ciąg na int w VBA
Jak przekonwertować ciąg na długi w VBA

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *