VBA の演算子(演算子の優先順位)
2015/08/26
演算子の優先順位
演算子の優先順位とは、1つの式の中に演算子が複数ある場合、どの部分から先に計算すべきかを明確化するため規則のことです。
優先順位が同じ場合は、現れる順序(左から右)で評価されます。
また、括弧( )で括ることで優先順位を上げることができます。
優先順位 | 演算子 | 内容 | 種類 |
1 | ^ | べき乗 | 算術演算子 |
2 | – | 符号反転 | |
3 | * | 乗算 | |
/ | 除算 | ||
4 | \ | 整数除算 | |
5 | Mod | 剰余算 | |
6 | + | 加算 | |
– | 減算 | ||
7 | & | 文字列連結 | 文字列連結演算子 |
8 | = | 等しい | 比較演算子 |
<> | 等しくない | ||
< | より小さい | ||
<= | 以下 | ||
> | より大きい | ||
=> | 以上 | ||
Like | 文字列のあいまい検索 | ||
Is | オブジェクト変数の比較 | ||
9 | Not | 論理否定 | 論理演算子 |
10 | And | 論理積 | |
11 | Or | 論理和 | |
12 | Xor | 排他的論理和 | |
13 | Eqv | 論理等価演算 | |
14 | Imp | 論理抱含演算 |
VBA 演算子の優先順位の使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Sub Sample_Order_Operator() Dim num1 As Long Dim num2 As Long Dim num3 As Long Dim str1 As String num1 = 10: num2 = 25: num3 = 1000 str1 = "計算結果:" '( ) で優先順位を変更、* は & よりも優先されます。 MsgBox str1 & num1 * (num2 + num3) End Sub |
実行結果
関連記事
-
-
Array 関数(バリアント型の配列を作成)
Array 関数の使い方 【書式】 myArray = Array ( elem …
-
-
日付時刻:日付時刻データを計算( DateAdd 関数 )
DateAdd 関数(日付・時刻の値を加算・減算結果を取得) 【書式】 resu …
-
-
文字列:文字列の長さを取得( Len 関数、LenB 関数 )
Len 関数(文字列の長さを取得) 【書式】 result_len = Len …
-
-
RGB 値一覧表(XlRgbColor 列挙型)
RGB 値(XlRgbColor 列挙型)一覧表 RGB 関数を使用して、出力さ …
-
-
配列(宣言・要素数の変更について)
配列の宣言 【書式】※ 配列の宣言 <Type 型の静的配列(固定長配列)の宣言 …
-
-
文字列:文字を指定数並べた文字列を返す(String 関数)
String 関数 【書式】 result = String ( number, …
-
-
データをクリアする(ClearContents メソッド)
ClearContents メソッド 対象がセル範囲(Range オブジェクト) …
-
-
文字列:文字列変数内の一部を置き換える(Mid・MidB ステートメント)
Mid・MidB ステートメントの使い方 【書式】 { Mid | MidB } …
-
-
テキストファイル(UTF-8)を読み込み、書き出し(ADODB.Stream)
Stream オブジェクト ADO(ActiveX Database Objec …
-
-
文字列:文字列変数の値を右詰めまたは左詰めにする(RSet ステートメント・LSet ステートメント)
RSet ステートメント・LSet ステートメント 【書式】 < RSet ステ …