サイトについて      連絡先   検索

VBA 数値の操作

はじめに

Excel VBA の 数値 (Integer など) を操作する方法を紹介します。

VBA の数値型について説明します。

数値の計算、比較などを紹介します。

数値型

数値型には整数のみや少数を扱うものなど、値の範囲でいくつか種類があります。

型名 データ型 値の例や範囲
Byteバイト型0 ~ 255 の正の整数
Integer整数型-32,768 ~ 32,767 の整数
Long長整数型-2,147,483,648 ~ 2,147,483,647 の整数
Single単精度浮動小数点型負:-1.79769313486231E308 ~ -4.94065645841247E-324
正:1.401298E-45 ~ 3.402823E38
Double倍精度浮動小数点型負:-1.79769313486231E308 ~ -4.94065645841247E-324
正:4.94065645841247E-324 ~ 1.79769313486232E308
Currency通貨型-922,337,203,685,477.5808 ~ 922,337,203,685,477.5807

この他に変数として宣言できませんが Decimal 型が存在します。

型名 データ型 値の例や範囲
Decimal10 進型少数なしの最大値:79,228,162,514,264,337,593,543,950,335
少数ありの最大値:7.9228162514264337593543950335

数値の計算

算術演算子で数値を計算します。

演算子 演算名 使用例 結果
+足し算1 + 23
-引き算2 - 11
*掛け算2 * 36
/割り算7 / 23.5
\割り算の商7 \ 23
Mod割り算の余り7 Mod 21
^べき乗2 ^ 38
Dim i As Integer
i = 1 + 2

Dim f As Integer
f = 7 / 2

少数の誤差

Single や Double 型の浮動小数点型では小数点の計算で誤差がでることがあります。

Dim f As Single
f = 0.5 - 0.4 - 0.1
Debug.Print (f) ' -2.77555756156289E-17 ' 本当は 0 にしたい

こういうときは Currency 型を使用するか、一度整数にしてから計算します。

' Currency 型を使用する
Dim c As Currency
c = 0.5 - 0.4 - 0.1
Debug.Print (c) ' 0

' 整数にしてから計算する
Dim a As Single
Dim b As Single
Dim c As Single
a = 0.5 * 10
b = 0.4 * 10
c = 0.1 * 10

Dim f As Single
f = (a - b - c) / 10
Debug.Print (f) ' 0

数値を比較

数値の比較には比較演算子を使用します。

演算子 演算名 使用例 結果
=等しい1 = 2False
<>等しくない1 <> 2True
>大きい1 > 2False
<小さい1 < 2True
>=以上1 >= 2False
<=以下1 <= 2True
If 10 = 10 Then

End If

If 9 < 10 Then

End If

関連ページ