如何在 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
当我们运行这个宏时,我们会收到以下输出:
请注意,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 中执行其他常见任务: