如何在 vba 中将字符串转换为 long(附示例)


您可以使用 VBA 中的CLng函数将文本字符串转换为长数据类型。

以下是在实践中使用此功能的两种常见方法:

方法1:在VBA中将字符串转换为Long

 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 中将字符串转换为 Long(仅当字符串是数字时)

 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 中将字符串转换为 Long

假设 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 中将字符串转换为 long(仅当字符串是数字时)

假设 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:如何检查一个字符串是否包含另一个字符串

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注