ここでは、VBAで使われる代表的な「数学」計算に関する組み込み関数を紹介します。イミディエイトウィンドウを使っていろいろ動作確認してみましょう。
Abs関数 |
絶対値を求めます。
?Abs(10)
10
?Abs(-10)
10
|
Int関数、Fix関数 |
小数を切り捨てます。
?Int(25.98), Fix(25.98)
25 25
?Int(-2.45), Fix(-2.45)
-3 -2
?Int(12.15698 * 1000) / 1000
12.156
- これらの関数は、正数を扱う場合はどちらも同じです。しかし、負数を扱う場合には違いがあります。Int関数は引数のマイナス側の整数を返します。一方、Fix関数は引数のプラス側の整数を返します。
- 切り上げ用の関数はありませんので、切り捨てたあとに+1するなどの処理を行ないます。
- 上記3つめの例は、任意の小数点以下を切り捨てる例です。
|
Round関数 |
四捨五入します。
?Round(8.54)
9
?Round(2.55, 1)
2.6
?Round(1.9246, 3)
1.925
- この関数では、2番目の引数に四捨五入する小数点位置を指定します。省略時にはゼロとして扱われ、整数値が返されます。
|
Format関数 |
数値を書式化します。
?Format(1234, "000000")
001234
?Format(1234, "00000000")
00001234
?Format(1234, "#,###")
1,234
- この関数では、2番目の引数に任意の数のゼロを指定することで、先頭が”0”で埋められたその桁数分の書式化された文字列が返されます。また、”#”やカンマを指定することで、任意の桁数ごとに区切ることができます。
|
IsNumeric関数 |
数値かどうか調べます。数値ならTrue、そうでなければFalseが返されます(下記Point参照)。
?IsNumeric(1234)
True
?IsNumeric("abcd")
False
|
TrueとFalse |
- VBAにおいて、「True」や「False」という値は特殊な意味を持っている
- Trueは”真”である(IsNumeric関数なら引数が数値)ことを示す
- Falseは”偽”であることを示す
|
|