webdevqa.jp.net

VBA 10進数として宣言する方法

データ型が宣言されていないVBAのマクロを最適化しているため、コンパイラによってすべてが不細工にバリアントとして扱われました。科学的な測定を扱っているので、精度が必要です。 「Dim decAsdf as Decimal」を宣言するにはどうすればよいですか(そうではなく、適切な方法)。

18
Thomas Shera

変数をDecimalとして宣言することはできません-Variantを使用する必要があります(ただし、CDecを使用してDecimal型を設定できます)。

19
Rory

最適な方法は、必要な精度に応じて、変数をSingleまたはDoubleとして宣言することです。データ型Singleは4バイトを使用し、範囲は-3.402823E38〜1.401298E45です。 Doubleは8バイトを使用します。

次のように宣言できます。

Dim decAsdf as Single

または

Dim decAsdf as Double

計算後の変数の値を含むメッセージボックスを表示する例を次に示します。あなたがしなければならないのは、それをモジュールに入れて実行することです。

Sub doubleDataTypeExample()
Dim doubleTest As Double


doubleTest = 0.0000045 * 0.005 * 0.01

MsgBox "doubleTest = " & doubleTest
End Sub
1
daytonrazorback