【VBA入門編 記事一覧】
第1回 VBAで仕事がラクになる?
第2回 マクロは誰にでも作れる!
第3回 VBAを書いてみよう!←イマココ
第4回 エラーだって怖くない!
VBAを書く場所はVBE(Visual Basic Editor)と呼ばれる専用の編集画面にあります。Excelの初期設定ではVBEの起動ボタンが表示されていないので早速表示させてみましょう。
目次
VBEを起動しよう
開発タブの表示
まずはタブ一覧に[表示]タブを追加します。[ファイル]>左下の[オプション]>[リボンユーザーの設定]を開き、右側の開発にチェックをつけましょう。
Visual Basic Editor
開発タブの左端にある[Visual
Basic]をクリックすると下ような画面が表示されます。
これがVBEです。この中の”モジュール”と呼ばれるメモ帳のようなところにソースコードを書いていきます。
左側のブック名や標準モジュールが表示されているところを「プロジェクトエクスプローラー」と呼び、メモ帳みたいなところを「コードウィンドウ」と呼びます。
ショートカット [Alt]+[F11] でも起動しますが、私のPCはNVIDIA社のGeForceというグラボが原因で起動しませんでした。ゲーミングPC勢は大人しく開発タブから起動するか、GeForceの設定を変更しましょう。
モジュールの挿入
プロジェクトエクスプローラーの余白を右クリックし、[挿入]にカーソルを合わせると
- ユーザーフォーム
- 標準モジュール
- クラスモジュール
の3つが表示されるので「標準モジュール」を挿入します。
残りの2つは無視して大丈夫です。私もまだ使ったことはありません。
モジュールを削除する時は、削除したいモジュールにカーソルを合わせて右クリックします。モジュールの解放をクリックすると削除することができます。その際、削除したいモジュールをエクスポートするか尋ねられるので、コードを残したいときは[はい]を、不要なら[いいえ]を選択してください。
実際に書いてみる
"Hello, World!"
Sub test()
MsgBox "Hello, World!"
End Sub
上記のコードを標準モジュールを挿入して出てきた白いウインドウにコピペして[F5]キーを押してみてください。メッセージボックスに「Hello,
World!」と表示されたら大成功です!
書くときの小技
-
変数以外はあえて小文字で書く。
正しく記述できていると勝手に大文字にしてくれるので打ち間違いに気づけます。
-
Ctrl + スペース:入力候補の表示
途中まで入力したコードを補完することができます。↑↓キーで選択、Tabキーで決定します。宣言した変数も呼び出すことができるので覚えていると便利です。
-
Ctrl + ↑ or ↓:プロシージャの移動
ひとつのモジュールに複数のプロシージャを作ったとき、マウスを使わずにプロシージャ間を移動することができます。
-
Shift + F2:
また、Ctrl + Shift + F2 で元の位置に戻ることができます。
他にもショートカットはたくさんあるので気になる方は調べてみてください。
マクロの保存・有効化
- マクロを含むExcelファイル(以下「ブック」)を保存するときは、拡張子が「.xlsm」になっているマクロ有効ブックを選びます。
- Excelには悪意のあるマクロが悪さをしないように警告を表示してマクロを無効化する設定があります。ブックを開いた時にセキュリティの警告が表示されていたら、[コンテンツの有効化]をクリックしてマクロを有効化しましょう。
個人用マクロブックのススメ
個人用マクロブックとは
VBAに慣れてくると、よく使うマクロをどこかにまとめて保存したいと思うことがあります。そんなときに使えるのが個人用マクロブックです。
マクロを実行するには、そのマクロを保存しているブックを開いて有効にする必要がありますが、個人用マクロブックに保存されたマクロはExcelの起動中、どのブックを開いている状態でも使用することができます。
よく使う汎用的なマクロはこの個人用マクロブックに保存して、ツールバーやショートカットに登録しておくと便利です。コピーして使いたいコードを保存しておくにも便利です。
ただし、個人用マクロブックは作成した人のPCにユーザー単位で保存されるため、パソコンが変わった際はその都度新しいPCで作り直す必要があります。自分専用のマクロだということを覚えておいてくださいね。
個人用マクロブックの作り方
開発タブにある[マクロの記録]を起動し、マクロの保存先を個人用マクロブックに設定します。
OKボタンを押すと操作の記録が始まるので、適当なセルをクリックしたら[記録終了]で終了し、VBEを起動します。
するとVBAProject(PERSONAL.XLSB)というブックの標準モジュールに、セルをクリックする操作が記録されていることがわかります。
以降はExcelを起動する度に必ず非表示の状態で開かれ、Excelの終了と同時に閉じます。
【私が保存しているコードの例】
・全てのシートのA1(左上)に移動する
・マクロ高速化のコードをコピペ用に保存
※ソースコードも随時追加します
0 件のコメント:
コメントを投稿