VBA の & (アンド)の記号の用途。

執筆者:

カテゴリ:

目的

  • VBA の「&」の意味を知りたい。
  • 用途の例を見たい。

知っている範囲で書いてみました。

1. 文字を連結している

VBA では、アンドの記号で文字を連結できるようです。

Sub アンドの記号で文字連結()
MsgBox "A" & "B" '結果=AB
End Sub
VBA の & アンドの記号の用途。文字を連結する。
VBA の & アンドの記号の用途。文字を連結する。

2. 変数の型宣言文字

VBA には「型宣言文字」というものがあるらしく、変数「a」を長整数型で宣言する時に、「as long」と記述するところを「a&」と書く事が出来るようです。長整数型の型宣言文字は「&」のようです。

Sub アンドを型宣言文字として使用()
  Dim a&
MsgBox TypeName(a) '結果=Long
MsgBox VarType(a) '結果=3 '戻り値 3 は長整数型
End Sub
typename 関数で出力した結果です。
typename 関数で出力した結果です。
vartype 関数で出力した結果です。
vartype 関数で出力した結果です。

3. 十六進数の数字

VBA で十六進数の数字を入力する時、「&H」の後に十六進数の数字を続けて書くようです。 VBA では「&H」ですが、他のプログラミング言語では「&H」ではなく、違う入力方法になるようです。

Sub アンドで十六進数の数字を入力()
MsgBox Hex(15) '結果=F
MsgBox &HF '結果=15 '&H と十六進数の数字 F を続けて記述する
End Sub
十進数の 15 を十六進数の数字に変換した結果です。
十進数の 15 を十六進数の数字に変換した結果です。
十六進数の F を十進数の数字に変換した結果です。
十六進数の F を十進数の数字に変換した結果です。
十進数十六進数
00
11
22
33
44
55
66
77
88
99
10A
11B
12C
13D
14E
15F
1610
1711
1812
1913
2014
2115
2216
2317
2418
2519
261A
271B
281C
291D
301E
311F
3220
255FF

アンパサンド

「Windows10 > Windows アクセサリ > 文字コード表アプリ」で「&」を調べて見ると「ampersand」と表示されていました。

文字コード表アプリで「&」をクリック。
文字コード表アプリで「&」をクリック。

テスト環境

  • Windows 10(64 ビット)
  • Microsoft Office Excel 2003

以上、閲覧ありがとうございました。