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