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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *