VBAで2乗3乗などのべき乗を計算する方法は?【演算子を使おう】

VBA

「VBAでべき乗の計算をしたいけど、どうしたらいい?」
そんな疑問を解決します!
VBAには演算子がたくさんありますので、使いこなせるようになりましょう。

VBAでべき乗をする方法

VBAでべき乗をするには、「^」(キャレット/ハット)の記号を使います。
例えば、2の2乗であれば、「2 ^ 2」、2の3乗であれば「2 ^ 3」となります。
VBAで2の3乗を計算し、メッセージボックスに結果を表示してみましょう。
以下のコードをコピーして使ってみてください。

Sub bekizyo()

Dim a As Double

a = 2 ^ 3

MsgBox a

End Sub

計算結果を代入する変数「a」はDouble型にしておきます。
理由は後ほど説明します。
「a」に2の3乗を代入し、「MsgBox a」で結果を表示しています。
実行すると以下の結果がでます。

なぜDouble型を使うの?

Double型は倍精度浮動小数点数を表します。
表示できる値は以下の通りです。

正の値:「4.94065645841247E-324 ~ 1.79769313486232E308」
負の値:「-1.79769313486231E308 ~ -4.94065645841247E-324」

よく使われる「Integer」や「Long」は整数のみになります。
べき乗では「-」の数字をかけると、結果が小数になることもあります。
例えば、4の-3乗はどうでしょうか。
結果は、「0.015625」ですよね。
小数を多く表示できるDouble型がべき乗に適しているのです。

「-」マイナスのべき乗をする方法

「-2乗」などのマイナスのべき乗も「^」(キャレット/ハット)を使って行えます。
例えば4の-3乗を計算し、メッセージボックスに結果を表示するマクロを作ってみましょう。

Sub bekizyo2()

Dim a As Double

a = 4 ^ -3

MsgBox a

End Sub

上記のVBAを実行すると以下の結果になります。

関数を使ってべき乗をする方法

「^」(キャレット/ハット)を使わない方法として、Power関数を使うことでもべき乗の計算ができます。
関数は「WorksheetFunction」を使うことで呼び出せます。
実際に3の2乗を計算してみましょう。
VBAは以下の通りです。

Sub bekizyo3()

Dim a As Double

a = WorksheetFunction.Power(3, 2)

MsgBox a

End Sub

これを実行すると3の2乗である9がメッセージボックスに表示されます。

VBAで使う演算子の種類

VBAで使える演算子はたくさんあります。
一覧にまとめましたので、参考にしてください。

  • 数学演算子
加算: +
減算: –
乗算: *
除算: /
剰余: Mod
累乗: ^
  • 比較演算子
等しい: =
等しくない: <>
より大きい: >
より小さい: < 以上: >=
以下: <=
  • 文字列結合演算子
&
  • 論理演算子
論理積 (AND): And
論理和 (OR): Or
否定 (NOT): Not
排他的論理和 (XOR): Xor
  • 代入演算子
代入: =
加算代入: +=
減算代入: -=
乗算代入: *=
除算代入: /=
剰余代入: Mod=

上記の演算子は組み合わせて使うこともできます。
例えば、以下の式があるとしましょう。

a = 4 > 3 And 8 >= 2

3より4が大きく、8は2以上であることから、この式が正しいとわかります。
メッセージボックスで結果を表示してみると、Trueが返されます。
VBAは以下の通りです。
コピーして実行してみてください。

Sub bekizyo5()

a = 4 > 3 And 8 >= 2

MsgBox a

End Sub

まとめ

この記事を読んでいただきありがとうございます。
VBAでべき乗をする方法や、さまざまな演算子について理解できたでしょうか。
勉強しているみなさまのお役に少しでも立てていると嬉しいです。

コメント

Copied title and URL