VBA 文字列を数値に変換する

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 3月 16, 2022

VBAのコードの中で、テキストとして保存されている数値を実際の数値に変換することが必要になることがあります。このチュートリアルでは、文字列型整数(integer)型長整数(long)型倍精度浮動小数点(double)型、10進数型、または通貨型に変換するために使用する関数について説明します。(数値を文字列に変換する方法については、ここをクリックしてください

文字列を整数に変換する

文字列を整数に変換するには、CInt関数またはCLng関数を使用します。小数部分が0.5未満の場合は切り捨て、0.5以上の場合は切り上げとなります。次のコードは、文字列を整数に変換するものです。

MsgBox CInt("7.55")

結果はこのようになります。

Using the CInt Function in VBA

次のコードは、CLng関数を使って、文字列を整数に変換します。

MsgBox CLng("13.5")

結果はこのようになります。

Using the CLng Function in VBA

:CInt関数やCLng関数を使用すると、文字列をそれぞれintegerデータ型やlongデータ型に変換することができます。longデータ型は、より大きな数値が許容されることを除けば、integerデータ型と同じです。以前は、メモリの制約のためにこの区別が必要でした。現代のプログラミングでは、メモリの問題がなくなったので、longデータ型を使わない理由はありません。したがって、integerデータ型ではなく常にlongデータ型を使うのが良いでしょう。

イミディエイトウィンドウで、その値が整数に変換されない場合の処理を確認することができます。

Debug.Print "13.5" + "13.5"

Using the Immediate Window

通常、テキストは変数として格納され、この変数は以下のコードに示すように数値データ型に変換する必要があります。

Sub Using_Variables()

Dim valueOne As String
valueOne = 5
MsgBox CLng(valueOne) + CLng(valueOne)

End Sub

文字列を10進数に変換する

CDbl または CDec 関数を使用して、文字列を10進数に変換することができます。次のコードは、文字列をdouble型に変換するものです。

MsgBox CDbl("9.1819")

結果はこのようになります。

Converting a String to a Double Decimal Type

次のコードは、文字列を decimalデータ型に変換するものです。

MsgBox CDec("13.57") + CDec("13.4")

結果はこのようになります。

Converting a string to a decimal data type in VBA

イミディエイトウィンドウで、値が doubleデータ型 や decimalデータ型に変換されない場合の処理を確認することができます。

Debug.Print "13.57" + "13.4"

結果はこのようになります。

Using Debug.Print to Display values

:decimalデータ型はdoubleデータ型より大きな数値を格納できるので、常にdecimalデータ型を使用するのが良いでしょう。

文字列を通貨に変換する

CCur関数を使うと、文字列を通貨に変換することができます。次のコードは、文字列を通貨データ型に変換するものです。

Range("A1").Value = CCur("18.5")

結果はこのようになります。

Converting a String to the Currency Data Type

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!
vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples