さて、この連載も本日で最終です。ブログに書くネタがなく、なんとなく始めた連載企画でしたが、予想以上に大変でした。暇つぶしにつくれば、2時間もあれば、十分作れる内容なのに8日間もかけてしまいました。
しかもブログを書く時間もおそらく全部で10時間以上かけてしまいました。他にもやってみたい企画はあるのですが、(エクセルVBAでマインスイーパーとかw)当分は休憩します。だいぶ飽きてきましたw
(その代わりにネタ探しせねば(T-T)
では、今日の内容です。エクセルを開いてから、わざわざVBEを開いて、フォームを開くのは手間がかかるし、誰でも利用できる状態とはほど遠いです。なので、エクセルを開くと同時にフォームが開くようにしましょう。エクセルを開くと同時に実行する処理を書くにはVBAProjectのThisWorkbookにコードを書く必要があります。
いつもと同じようにまずは、Alt+F11をクリックし、VBEを開きます。そして、左側のVBAProjectのThisWorkbookをダブルクリックします。すると、右側では、ThisWorkbookにコードを書けるようになります。次はSheet1にコードを書いた時のようにイベントハンドラを設定します。右側のコードを書く部分の左上「(General)」を「Workbook」にすると、勝手に右側は「Open」となり、「Workbook_Open()」というサブプロシージャが出来上がったと思います。ここに「UserForm1.Show」と書くことで、エクセルを開くと同時にフォームが開くようになります。
UserForm1.Show
End Sub
これで完成です。
せっかくなので、一度エクセルを閉じて開いてみましょう。すると、フォームが立ち上がるはずです。なおかつ、エクセルのセルをクリックすることができるかも試しておいてください。もし、エクセルのセルをクリックして、「生」「死」の状況を切り替えることを出来なければ、「ShowModal」の設定が「true」になっている可能性があるので、VBEから、ユーザーフォームを選んで、左下のプロパティのところを確認してください。「ShowModal」の項目を「false」に設定しましょう。
さて、本当にこれで完成です!うまく動くようになりましたか?いつかマインスイーパーの企画はやる予定ですが、もしできそうなら、自分でチャレンジしてみてくださいね。明日からは普通の記事を書きます。普通の記事もよろしくお願いしますm(__)m