前回のブログでフォーム表示ボタンをクリックするとユーザーフォームが表示されるところまで行いました。
今回は指定したシートがあるか調べるために「For Each…Next」を組み込んだコードがどの様に動作しているか確認したいと思います。
1. ブレークポイントを設定します。
VBEを表示してUserForm1のコードを表示し「For Each…Next」の「Next Sheet」の行の行頭をクリックすると丸印が表示されブレークポイントが設定されます。
2. エクセルのシート1(蔵書管理表)を表示して、フォーム表示ボタンを押しユーザーフォームを表示します。
3. 本のジャンル、本のタイトル、著者、出版社、ISBN、を入力して新規登録ボタンを押します。
4. 設定したブレークポイントでプログラムが停止します。
5. F8キーを押してステップ実行を行います。
Flagの上にマウスのカーソルを持っていきF8キーを数回押していくと「Flag = False」の表示が途中で「Flag = True」になります。
6. もう一度F8キーを押すと「If Flag = True Then」の行にカーソルが移動します。
本のジャンルのシートがあったのでTrueと判断されました、無かったときはFalseと判断されてElseの行にカーソルが移動します。
7. F5キーを押してプログラムを継続させると蔵書管理表と漫画のシートにユーザーフォームに入力した値が転記されてプログラムが終了します。
ユーザーフォームを使うとステップ実行が少しやりにくくなるのでブレークポイントと組み合わせて行うと良いかと思います、長い文章を最後までお読みいただきありがとうございました。
コメント