PR

【VBA】数値⇔文字列で値を変換する方法

VBA

数値と文字列を相互に変換する方法を紹介します。

以降、コードをそのまま貼り付け→実行できるようにしてあります。
標準モジュールに張り付けてご自身で確認してみてください。

リボンに開発タブがない方、貼り付け先の標準モジュールがわからない方は
先に以下のページから設定を行ってからお試しください。

【VBA】開発タブの表示方法
「開発」タブの表示方法を画像付きで紹介します。 お使いのバージョンによって内容に差異がある場合がありますが大筋は同じだと思いますので、適宜読み替えてご参照ください。 windowsの場合 「ファイル」を選択します 左下の「オプション」を選択...

文字列から数値への変換

Option Explicit

Sub StringToInt()
    Dim str As String
    Dim num As Long

    str = "001"
    num = CLng(str)

    MsgBox ("num: " & num)
End Sub

文字列:”001″ を 数値:1 に変換して表示するプログラムです

1行目:変数の宣言を強制
3行目:StringToIntという名前で関数を宣言
4行目:strという名前で文字列(String)の変数を用意
5行目:numという名前で数値(Long)の変数を用意
7行目:strに”001″(文字列の値)をセット
8行目:CLng関数でstrを数値に変換し、numにセット
10行目:numの値を表示(num: 1)
11行目:関数の終わり

数値から文字列への変換

Option Explicit

Sub IntToString()
    Dim str As String
    Dim formattedStr As String
    Dim num As Long

    num = 1
    str = CStr(num)
    formattedStr = Format(num, "000")

    MsgBox ("str: " & str)
    MsgBox ("formattedStr: " & formattedStr)
End Sub

数値:1 を 文字列:”001″ に変換して表示するプログラムです

1行目:変数の宣言を強制
3行目:IntToStringという名前で関数を宣言
4行目:strという名前で文字列(String)の変数を用意
5行目:formattedStrという名前で文字列(String)の変数を用意
6行目:numという名前で数値(Long)の変数を用意
8行目:numに1(数値の値)をセット
9行目:CStr関数でnumを文字列に変換し、strにセット
10行目:Format関数で整形&文字列に変換し、strにセット
12行目:strの値を表示(str: 1)
13行目:formattedStrの値を表示(formattedStr: 001)
14行目:関数の終わり

結論

文字列から数値への変換:CLng
数値から文字列への変換:CStr(特別に値の変換などが必要な場合はFormat)

CLng、CStrの頭文字「C」は「Convert」の「C」と考えて、
Convert to Long、Convert to String と考えると覚えやすいかもしれませんね。

Format関数は日付の書式変換などにも使える関数です。
詳しくは以下のページをご参照ください。

【VBA】Format関数の使い方
Format関数の使い方を紹介します。Format関数は名前の通り、渡されたデータをフォーマットして返す関数です。 Format(Expression, [Format], [FirstDayOfWeek], [FirstWeekOfYea...
タイトルとURLをコピーしました