Как преобразовать строку в двойную в vba (с примерами)
Вы можете использовать функцию CDbl в VBA для преобразования текстовой строки в тип данных double.
Вот общий способ использования этой функции на практике:
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
Этот конкретный макрос преобразует каждую строку в диапазоне A2:A11 в тип данных double, только если строка является числом.
В противном случае строка будет преобразована в нулевое значение.
В следующем примере показано, как использовать этот синтаксис на практике.
Пример. Преобразование строки в Double в VBA
Допустим, у нас есть следующий столбец значений в Excel, в настоящее время отформатированный как текстовые строки:
Предположим, мы хотим преобразовать каждую строку в тип данных double , только если строка является числом , и отобразить их в столбце B.
Для этого мы можем создать следующий макрос:
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
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что только текстовые строки в столбце A, которые являются числами, преобразуются в типы данных double в столбце B.
В противном случае текстовые строки просто преобразуются в нулевое значение.
Примечание . Полную документацию по функции VBA CDbl можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
Как преобразовать строку в int в VBA
Как преобразовать строку в длинную в VBA