Як перетворити рядок на ціле число у 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: як перевірити, чи містить рядок інший рядок