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