小ネタ・便利技

VBAで一番省略されているキーワード

投稿日:2016.10.31 更新日:

VBA にはプロパティやステートメントなど様々なキーワードがあります。そして中には記述を省略できるものも少なくありません。

では一番省略されているキーワードっていったいなんなのでしょうか?

よく省略されるキーワード

VBA には省略できるキーワードがたくさんあります。よく省略されるキーワードのいくつかをご紹介しますね:)

規定のメンバー

オブジェクトの規定のメンバーはよく省略されます。プロパティ名などを記述しなかった際に VBA が自動で判別してデフォルトのプロパティなどを返します。よく使われる Rangeオブジェクトではメソッドやプロパティを何も記述しないと「Valueプロパティ」が適用されます。これが規定のメンバーです。

厳密には Rangeオブジェクト の既定のメンバーは「Valueプロパティ」ではありません。Rangeオブジェクトをオブジェクトブラウザで参照してみるとわかりますが、既定のメンバーは「_Defaultプロパティ」です。このプロパティはデフォルトでは非表示になっているため、オブジェクトブラウザのコンテキストメニューから[非表示のメンバーを表示]を選択すると表示されます。

プロシージャのPublicスコープ

「Sub」や「Function」などのプロシージャにはスコープ(適用範囲)を指定します。スコープには「Public」「Private」「Friend」がありますが、記述を省略した場合は「Public」が適用されます。これもよく省略されるキーワードです。

引数の参照渡し

プロシージャに引数を渡す時は「ByRef(参照渡し)」「ByVal(値渡し)」が指定可能です。参照渡し、値渡しのそれぞれの説明は割愛しますが、これらも省略することが可能で、省略した場合は「ByRef(参照渡し)」が適用されます。

一番省略されているキーワード

先に断っておきますが、「一番省略されている」というのは別に統計を取って厳密に調べたわけではありません。あくまでぼくが独自の理論で導き出した結果に基づく「表現」ですのであしからず。

さて、先述した「よく省略されるキーワード」よりも省略されているキーワードですが、それは「Letステートメント」です。
「Let」と聞くと「Property Let ~」がまず思いつくかもしれませんが、ここで言う「Letステートメント」はPropertyプロシージャのそれとは異なります。そもそもPropertyプロシージャの「Let」は省略できませんしね。
じゃあいったいあんたが言う省略可能な「Letステートメント」ってなんなのさって感じかと思いますが、変数に値を代入する際の「Letステートメント」が省略可能なキーワードになります。

まだピンと来ない方もいらっしゃるかと思いますので、簡単に説明します。

通常、変数への値の代入は↓こんな感じで記述しますよね。

でもこの値の代入、省略せずに記述すると↓こんな風になるんです。

変わったところはそれぞれの代入している箇所に「Let」が記述してあるところです。
普段何気なく記述している「変数への値の代入」は実は省略された形式だったんですね。
VBA のヘルプにも『キーワード Let を明示的に使用するかどうかは表記上の問題であり、通常は省略します。』とありますし、VBA の参考書などを見ても「変数への値の代入」で「Let」を記載しているものは、少なくともぼくは見たことがありません。
先述の「よく省略されるキーワード」は確かに記述を省略することが多いと思います。また、他にも普段省略しているキーワードはたくさんあるでしょう。ただ、この「変数への値の代入のLetステートメント」よりも多く出現する省略可能なキーワードってあるでしょうか。おそらく無いと思います。
ってことで「Letステートメント」を一番省略されているキーワード(ぼく調べ)に認定してみました。

まとめ

今回は技術的な内容ではなく、VBA に纏わる小ネタを書いてみました。
ぼくは、エンジニアはコーディングをガリガリやってるだけじゃダメだと思っていて、こういう小ネタも知っておくといつかどこかで何かの役に立つんじゃないかなぁなんて思いもありこのエントリを書いてみました。

ご質問などありましたらお気軽にお問合せくださいまし:D

HAYs

-小ネタ・便利技
-, ,


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

hide-returned-zero

数式の計算結果で0を表示しない方法

VLOOKUP関数やINDEX関数、あるいは「=A1」などセルを参照する数式で、その計算結果が空白セルを参照する場合、Excel は空白(“”)ではなく0(ゼロ)を返します。今 …

book

大量シートの中から目的のシートを簡単に選択する方法

ブック内にシートがたくさんある時って、目的のシートを探して選択するのって面倒じゃないですか?面倒ですよね?面倒なんですか?そうですか。そんなあなたに目的のシートを簡単に選択する方法をご紹介します。  

【Excel】ユーザー設定リストを活用してオートフィルと並べ替えをカスタマイズ

Excel には「ユーザー設定リスト」という順序に関する情報を保存している機能があります。順序に関する情報なので、使いこなせばオートフィルや並べ替えの機能をより使いやすくすることも可能です。今回はこの …

caluculation_process

Excelで数式の計算過程を表示する方法

Excelで作業しているとやたら長ったらしい数式ってたまにありますよね。 『この数式は関数がいっぱい書いてあるけど何でこの値を返すんだろう?』 とか 『あれ?数式がエラーになっちゃったけど原因はどこだ …

number

文字列として保存された”数字”を計算などで使用できる”数値”に一括で変換する方法

文字列として保存された”数字”は計算などには使用出来ません。そういった”数字”は”数値”に変換してあげなければならないんですが、 …