Як перетворити рядок на довгий у vba (з прикладами)
Ви можете використовувати функцію CLng у VBA, щоб перетворити текстовий рядок на довгий тип даних.
Ось два поширені способи використання цієї функції на практиці:
Спосіб 1. Перетворіть String на Long у VBA
Sub ConvertStringToLong () Dim i As Integer For i = 2 To 11 Range(" B " & i) = CLng(Range(" A " & i)) Next i End Sub
Цей конкретний макрос перетворить кожен рядок у діапазоні A2:A11 на довгий тип даних і відобразить довгі значення в діапазоні B2:B11 .
Спосіб 2. Перетворення рядка на довгий у VBA (лише якщо рядок є числом)
Sub ConvertStringToLong()
Dim i As Integer
For i = 2 To 11
If IsNumeric(Range(" A " & i)) Then
Range(" B " & i) = CLng(Range(" A " & i))
Else
Range(" B " & i) = 0
End If
Next i
End Sub
Цей конкретний макрос перетворює кожен рядок у діапазоні A2:A11 на довгий тип даних, лише якщо рядок є числом. В іншому випадку рядок буде перетворено на нульове значення.
Наступні приклади показують, як використовувати кожен метод на практиці.
Приклад 1. Перетворення рядка на Long у VBA
Припустимо, у нас є такий стовпець значень в Excel, наразі відформатований як текстові рядки:
Припустімо, ми хочемо перетворити кожен рядок на довгий тип даних і відобразити його в стовпці B.
Для цього ми можемо створити такий макрос:
Sub ConvertStringToLong () Dim i As Integer For i = 2 To 11 Range(" B " & i) = CLng(Range(" A " & i)) Next i End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Зауважте, що кожен текстовий рядок у стовпці A було перетворено на довгий тип даних і відображається в стовпці B.
Приклад 2: перетворення рядка на довгий у VBA (лише якщо рядок є числом)
Припустимо, у нас є такий стовпець значень в Excel, наразі відформатований як текстові рядки:
Припустімо, ми хочемо перетворити кожен рядок на довгий тип даних , лише якщо рядок є числом , і відобразити їх у стовпці B.
Для цього ми можемо створити такий макрос:
Sub ConvertStringToLong()
Dim i As Integer
For i = 2 To 11
If IsNumeric(Range(" A " & i)) Then
Range(" B " & i) = CLng(Range(" A " & i))
Else
Range(" B " & i) = 0
End If
Next i
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Зауважте, що лише текстові рядки в стовпці A, які є числами, перетворюються на довгі типи даних у стовпці B.
В іншому випадку текстові рядки просто перетворюються на нульове значення.
Примітка . Ви можете знайти повну документацію для функції VBA CLng тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: як видалити пробіли з рядка
VBA: як підрахувати випадки появи символів у рядку
VBA: як перевірити, чи містить рядок інший рядок