VBA入門編 No.3

VBA入門編

コメント

コメントは、シングルコーテーション(Shit+7)に続いて書きます
シングルコーテーション以下は、緑に表示がかわります

コメントは、プログラムの説明や、変数の意味を書くのに便利です

コメントはプログラムに影響しません

式の前に書けば、シングルコーテーション以下のプログラムは実行されません
一時、実行したくないものなどにもよく使います

コメントブロックまとめてコメントに!

非コメントブロックまとめてコメント解除

コメントのたくさん入ったプログラムは、見やすく・修正しやすい 良いプログラムです
自分のため、このプログラムを修正する人のため たくさん入れておきましょう

変数の宣言

今まで勉強してきた変数ですが、変数の宣言というのがあります。
変数 i を使いますと宣言します Dim i

また 整数型を宣言する場合、i は整数型ですと宣言します Dim i As Long

主な整数型にInteger と Longがあります
i は整数なので、
Dim i As Integer あるいは Dim i As Long と宣言します
VBAは、すべての整数値をLong型に変換しますので、
Long型を使うように推奨されています

宣言しなくても、使えるんですが、(今まで使ってたよね?!)
宣言するように推奨されています

なぜかというと、プログラムが長くなるにつれ、なんの変数だったのか、何を意味するのか、
がなんなのかわからなくなるからです

宣言しないで使うと、タイプミスに気が付かないこともあり、
バグの原因になったりします

Il1 oO0 xX Cc Ff Jj Kk Tt Pp Vv Ww Xx Yy Zz
VBAは大文字小文字を区別はしませんが、宣言をすると区別してくれます。
大文字Iと 小文字のL 数字の1
小文字のoと大文字のOと数字の0 etc etc
長い長いプログラムの中の長い長い変数名にこれらが混じっていたら、
見分ける自信ありますか?

型ってなに?
変数は入れるによって、入れる箱が異なります
整数は整数用の箱文字列は文字列の箱に入ります
専用の箱が型です

主な型

出典元:公式テキストExcel VBAペーシック 5-1変数とは

他にもたくさんあるけどとりあえずこれだけは覚えてね!

変数の宣言をし忘れないように、設定することができます

ツール→ オプション→ 編集タブのコードの設定
変数の宣言を強制するにチェックをいれます

次に作成されるモジュールからOption Explicit とプログラムに追加され、
宣言せずに変数を使用すると実行時に「変数が定義されていません」とエラーになり、
変数の宣言を忘れないようにできます

Option Explicitとは変数を宣言しないと使えませんという命令です

型がよくわからなくても、宣言だはしましょう
それが世のため、人のため、自分のためです

その他のツールオプション

自動構文チェック

入力の途中でチェックを行い、構文エラーがあると、警告メッセージが表示されます
いちいち確認するのが面倒なので、チェックしなくていいです

自動メンバー表示

プログラム作成時、入力した文字に続けて入力候補をドロップダウン表示してくれます
うろ覚えでも、正確なスペルがわかりますし、長いコードを打たなくて済みます

.(ピリオド)やCTRL+Spaceでも表示できます

変数も宣言をするとメンバー候補として表示されます

とてもありがたい機能です ぜひ使いましょう

Cellsは使えませんが、Cells()とすると使うことができます
後で()の中を書くようにします

自動クイック ヒント

入力時にヒントが表示されます
引数の順番や、入力する項目をこのヒントから簡単に知ることができます
これもありがたや~

自動データ ヒント

VBAをステップ実行(F8)やデバッグ等で一時停止しているとき(まだやってないね(^^;))、
マウスポインタを、変数等に合わせるとその値を表示してくれます

これがなければ、生きていけない!!

継続行

1行の長いコードになってしまったときは、
行の途中で 半角スペース + アンダーバー(_) で改行できます

ちなみに、

Sub test()
A = Cells(5, 2): B = Cells(5, 3)
C = 6: D = 5
Cells(D, C) = A + B
 のように

1行に :(コロン)で続けて書くこともできます