Как преобразовать строку в целое число в vba (с примерами)
Вы можете использовать функцию CInt в VBA для преобразования текстовой строки в целое число.
Вот два распространенных способа использования этой функции на практике:
Способ 1: преобразовать строку в целое число в VBA
Sub ConvertStringToInteger() Dim i As Integer For i = 2 To 11 Range(" B " & i) = CInt(Range(" A " & i)) Next i End Sub
Этот конкретный макрос преобразует каждую строку в диапазоне A2:A11 в целое число и отображает целые числа в диапазоне B2:B11 .
Способ 2. Преобразование строки в целое число в VBA (только если строка является числом)
Sub ConvertStringToInteger()
Dim i As Integer
For i = 2 To 11
If IsNumeric(Range(" A " & i)) Then
Range(" B " & i) = CInt(Range(" A " & i))
Else
Range(" B " & i) = 0
End If
Next i
End Sub
Этот конкретный макрос преобразует каждую строку в диапазоне A2:A11 в целое число, только если строка является числом. В противном случае строка будет преобразована в нулевое значение.
Следующие примеры показывают, как использовать каждый метод на практике.
Пример 1. Преобразование строки в целое число в VBA
Допустим, у нас есть следующий столбец значений в Excel, в настоящее время отформатированный как текстовые строки:
Предположим, мы хотим преобразовать каждую строку в целое число и отобразить целые числа в столбце B.
Для этого мы можем создать следующий макрос:
Sub ConvertStringToInteger() Dim i As Integer For i = 2 To 11 Range(" B " & i) = CInt(Range(" A " & i)) Next i End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что каждая текстовая строка в столбце A преобразована в целое число и отображается в столбце B.
Пример 2. Преобразование строки в целое число в VBA (только если строка является числом)
Допустим, у нас есть следующий столбец значений в Excel, в настоящее время отформатированный как текстовые строки:
Предположим, мы хотим преобразовать каждую строку в целое число , только если строка является числом , и отобразить целые числа в столбце B.
Для этого мы можем создать следующий макрос:
Sub ConvertStringToInteger()
Dim i As Integer
For i = 2 To 11
If IsNumeric(Range(" A " & i)) Then
Range(" B " & i) = CInt(Range(" A " & i))
Else
Range(" B " & i) = 0
End If
Next i
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что только текстовые строки в столбце A, которые являются числами, преобразуются в целые числа в столбце B.
В противном случае текстовые строки просто преобразуются в нулевое значение.
Примечание . Полную документацию по функции VBA Cint можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: как удалить пробелы из строки
VBA: как подсчитать вхождение символов в строку
VBA: как проверить, содержит ли строка другую строку