変数の内容が、想定外の動きをする場合などは、どこでそうなるのか分からないため、「ブレークポイント」を設定できないことが有ります。 このようなときには、、ウオッチ式に登録すれば、この変数が変わった時点で、中断してくれます。 この機能も簡単で便利です。操作は、該当する変数の所にカーソルを置いてマウス右クリックして表示されるメニューから選択して、右の画面を表示して、「ウオッチの種類」にチェックを入れます。 Debug オブジェクトの Print メソッドを使うと、変数の値を、イミディエイト画面に出力させることができます。 Debug.Print 変数名 Debug オブジェクトには、もう一つ Assert メソッドが有ります。Assert メソッドは引数の真偽値を判定し、値が偽の場合に処理を中断します。 Debug.Assert 真偽値 参考:内田のHP→VBA→デバッグについて http://members.jcom.home.ne.jp/rex-uchida/vba110.htm 変数とサブルーチンやファンクションとの関係を、プログラム開発関連の項で紹介した、VBA_VariableProcedureXref を使って出力しておくと、デバッグが容易になります。 |
VBAは、「標準モジュール」を追加して、そこに書きます。 プログラムが複雑になると、モジュールを分割した方が見通しが良くなります。モジュール名は、日本語にすると、分かりやすいでしょう。 モジュール名を変更は、 プロジェクトエクスプローラで、Moduleを選択して、 メニューの[表示]→[プロパティ]をクリックして、 プロパティウィンドウの[(オブジェクト名)]欄で名前を変更して、 [Enter]キーを押します。 注: @モジュール名に、Sub プロシージャ名と同じ名前を付けることはできません。 A文字数は、半角 32 字(全角16字)までです。 私は、次の例のように、モジュール名の1文字目をアルファベットにして、処理の順番に並ぶようにしています。(後日の挿入を考慮して、適当にアルファベットを歯抜けにしています。)
a接続
c品目の検索 dメイン e受注実績検索 f前回データ削除 g地域処理 h適用モデル検索 k需要予測計算 |