Как преобразовать строку в длинную в vba (с примерами)


Вы можете использовать функцию CLng в VBA для преобразования текстовой строки в длинный тип данных.

Вот два распространенных способа использования этой функции на практике:

Способ 1: преобразовать строку в длинную в 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. Преобразование строки в длинную в 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

Когда мы запускаем этот макрос, мы получаем следующий вывод:

VBA конвертирует строку в длинную

Обратите внимание, что каждая текстовая строка в столбце 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: как проверить, содержит ли строка другую строку

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *