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

このマクロを実行すると、次の出力が表示されます。

VBA 文字列を長い文字列に変換します

列 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: 文字列に別の文字列が含まれているかどうかを確認する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です