Vba で文字列を long に変換する方法 (例付き)
VBA のCLng関数を使用すると、テキスト文字列を長いデータ型に変換できます。
この機能を実際に使用する一般的な 2 つの方法を次に示します。
方法 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の各文字列をlongデータ型に変換し、範囲B2:B11のlong値を表示します。
方法 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内の各文字列を Long データ型に変換します。それ以外の場合、文字列は null 値に変換されます。
次の例は、各メソッドを実際に使用する方法を示しています。
例 1: VBA で文字列を Long に変換する
Excel に次の値の列があり、現在テキスト文字列としてフォーマットされているとします。
各文字列をlongデータ型に変換して列Bに表示するとします。
これを行うには、次のマクロを作成できます。
Sub ConvertStringToLong () Dim i As Integer For i = 2 To 11 Range(" B " & i) = CLng(Range(" A " & i)) Next i End Sub
このマクロを実行すると、次の出力が表示されます。
列 A の各テキスト文字列は、long データ型に変換され、列 B に表示されることに注意してください。
例 2: VBA で文字列を long に変換する (文字列が数値の場合のみ)
Excel に次の値の列があり、現在テキスト文字列としてフォーマットされているとします。
各文字列が数値の場合にのみ、long データ型に変換して列 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 の Long データ型に変換されることに注意してください。
それ以外の場合、テキスト文字列は単純に null 値に変換されます。
注: VBA CLng関数の完全なドキュメントはここにあります。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: 文字列からスペースを削除する方法
VBA: 文字列内の文字の出現を数える方法
VBA: 文字列に別の文字列が含まれているかどうかを確認する方法