「VBEエディタの使い方がよくわからない!」
「VBEにはいろんなボタンがあるけどよく使う機能はどれ?」
今回はこういった疑問を持つ方に対してVBEの基本的な使い方についてご説明をしたいと思います。
VBEの使い方をマスターしておけば、プログラミングを書くときになにかと便利です。
最初から全部を理解する必要はありませんので、よく使う機能だけ今のうちに覚えておきましょう。
VBEとは|VBAとVBEの違い
そもそも「VBE」とは何でしょうか?
「VBE」とは、マクロを作成・管理するための「エディタ」のことです。
「エディタ」とは、プログラミングをするさいにコードを書き込むためのアプリケーションのことです。
「VBE」のおもな特徴として、マクロごとに名前を付けて作成・編集するための機能を備えています。
また、プログラミングのコードを補完する機能が備わっていて、「コードの検索」、「コードの自動補完」、「文字色の強調」などがあります。
その他にもマクロを作るうえで必要な機能が一通りそろっています。
ちなみに、「VBE」は「VBA」と間違えやすいので気を付けてくださいね。
「VBE」とは、「Visual Basic Editor」の略でエクセルマクロ用のプログラミングを作成、管理するための操作画面のことです。
それに対して「VBA」とは、「Visual Basic for Applications」の略でプログラミング言語のことです。
VBEの開き方|選択とショートカット
それでは、VBEを開いてみましょう。
開き方は、2パターンあります。
- 開発タブから「Visual Basic」を選択する
- もしくは、「alt」と「 F11」を同時押しする
このような画面が開けましたでしょうか?
これがVBEと呼ばれるものです。
このVBEにはマクロを作るための機能がたくさんありますが、使いながら慣れていく方が学習効率がいいと思います。まずは大枠からおさえていきましょう。
VBEの画面構成|各ウィンドウと配置
こちらがVBEの画面構成です。
おおきくわけて3つの要素で構成されています。
「プロジェクトエクスプローラー」
ここには、プロジェクトとモジュールの一覧が表示されています。
プロジェクトとは、1つのブックにある複数のシートをまとめたものです。
エクセルのシート名とおなじ名前が表示されます。
そのためシートを増やしていくと項目も増えていきますので、試しにエクセルのシートを追加してVBEを確認してみてください。
モジュールとは、マクロを記述するシートのことです。
「標準モジュール」以外にもいくつかの種類がありますが最初はあまり使うことがないと思いますので、まずはこれだけ知っておきましょう。
ちなみに、上の画面では「標準モジュール」のなかに「Module1」があります。
この「Module1」のなかに記述されたコードが「コードウィンドウ」に表示されています。
「プロパティウィンドウ」
プロジェクトエクスプローラーで選択している情報が表示されます。
最初のうちはあまり使わないので、ここは後回しでいいと思います。
「コードウィンドウ」
コードを記述する場所です。
「マクロの記録」を使わず、自分でコードを書く場合もここを使うことになります。
ちなみに上の画面ではすでにサンプルコードが入力されています。
(「セルA1」の値に”こんばんは”を代入する。といったマクロ動作です。)
マクロの作成|VBEの操作
では、コードウィンドウにプログラミングを書いてみましょう。
今度は「マクロの記録」ではなく、VBAをつかったコードの記述です。
以下のコードを入力してみてください。
ここで慣れるためにもコピー&ペーストはせずに実際に書いてみましょうね!
1. VBEを開く
2. メニュー「挿入」から「標準モジュール」を選択する
3. コードウィンドウに以下のコードを入力する
Sub test1() Range("A1").value = "こんばんは" End Sub
4. 「F5」を押してマクロ実行する
(コードウィンドウの入力画面で押してください。)
5. エクセルの画面を確認する
いかがでしょうか?
エクセルの「セルA1」に文字が入力されているのを確認できたかと思います。
わたしの画面ではこのような結果になりました。
今回はシンプルなマクロをつかってご説明をいたしましたが、複雑なマクロであっても基本はここに記述します。
なお、ファイルを保存する際は拡張子を”.xlsm”にすることをお忘れなく。
まとめ
今回はVBEの画面構成と、コード記述からマクロ実行までの一通りをご説明いたしました。
基本的にマクロを作成するさいはこのような手順で進めます。
その他にもいろいろな機能がありますが、いっきに覚えるのではなくコードを書きながら少しずつ知っていく方がいいのかと思います。