VBA入門
マクロはどこに書くの(VBEの起動)

ExcelマクロVBAの基本と応用、エクセルVBAの初級・初心者向け解説
最終更新日:2021-08-07

第4回.マクロはどこに書くの(VBEの起動)


さて、ではマクロVBAはどこに書いたらよいのでしょうか。


まずは、マクロVBAを書くための紙に相当する編集画面を出します。

このマクロVBAの編集画面をVisual Basic Editor、略してVBEと呼びます。

「Visual Basic Editor」の表示方法

Excel2007、Excel2010以降
リボンの「開発」→「Visual Basic」
Excel2003
「ツール」→「マクロ」→「Visual Basic Editor」

どのバージョンでも、ショートカットは、
Alt + F11 です。
このような画面が表示されます。

マクロVBA Excel

これが、Visual Basic Editor
略して、VBEと呼ぶ画面です。

左に表示されている部分は、プロジェクトウィンドウと言います。
この状態ではシートだけが表示されています。
一番下の、「ThisWorkbook」、これは今は気にしないで下さい。
使う時が来たら説明します。
第124回.Workbookのイベントプロシージャー
・Workbookのイベント一覧 ・イベントプロシージャー追加のVBE操作 ・Workbook_Open:Workbookのイベント ・Workbook_BeforeClose:Workbookのイベント ・Workbook_SheetChange:Workbookのイベント

ここには、まだ、マクロVBAを書く場所がありません。
マクロVBAを書く場所は標準モジュールと言います。

それでは、標準モジュールを挿入しましょう。


標準モジュールの挿入

メニューの「挿入」→「標準モジュール」 ・・・ Alt + I + M

マクロVBA Excel

または、
プロジェクト内を右クリックで「挿入」→「標準モジュール」

マクロVBA Excel

これで、以下のようになります。

マクロVBA Excel

この右の白地部分が、マクロを書く場所になります。
そして、左側に、「標準モジュール」が追加され、
その下に、「Module1」が追加されています。
つまり、「標準モジュール」というフォルダの中に「Module1」が作成され、そこにマクロを書くという事になります。

この標準モジュールは複数作成することができます。
VBAを書くためのルーズリーフのようなものだと考えてください。
必要になったら、いつでも挿入して追加できます。
今後練習してVBAを書いていったときは適宜挿入して作成してください。


「Module1」の名称変更

「Module1」という名称は、勝手にVBEが付けた名前です。

標準モジュールはいくつでも挿入できますが、
順に、「Module1」「Module2」と連番になります。


この名前を変更したい時には、プロパティウインドウで行います。

プロパティウインドウが表示されていない時は、
表示→プロパティウインドウ

マクロVBA Excel

上図の左下のプロパティウインドウの先頭の、
(オブジェクト名)
ここの右側の名称(上図では、Module1)を変更してください。
名前は、半角全角問わず使えますが、
先頭に数字は使えません。
また、記号はアンダーバー(_)のみ使えます。


「Module1」の削除

挿入したモジュールが不要になって削除したい時ですが、
削除というのは無く、解放を使います。

「Module1」を右クリック→「Module1の解放」

マクロVBA Excel

すると、

マクロVBA Excel

この応答が表示されますので、
「いいえ(N)」を選択して下さい。

「Module1」が消えましたね。

「はい(Y)」を選択すると、出力先のダイアログが表示され、フォルダを指定してOKすることで、
VBAの内容が、拡張子.basのテキストファイルとして出力されます。
マクロVBA Excel


以上が、マクロを書く場所の作成と削除になります。
マクロを書くときは、必ずこの操作から始めることになります。





同じテーマ「マクロVBA入門」の記事

第1回.マクロって何?VBAって何?
第2回.まずはマクロVBAを使う準備
第3回.マクロの記録
第4回.マクロはどこに書くの(VBEの起動)
第5回.VBEのオプション設定(Option Explicit)
第6回.とにかく書いてみよう(Sub,End Sub)
第7回.マクロを実行するには(F5)
第8回.セルに文字を入れるとは(RangeオブジェクトのValueプロパティ)
第9回.Rangeでのセルの指定方法
第10回.Range以外の指定方法(Cells,Rows,Columns)
第11回.RangeとCellsの使い方


新着記事NEW ・・・新着記事一覧を見る

構成比を合計しても100%にならないと言われた…|ツイッター出題回答 (2022-09-01)
一覧から複数条件(部分一致、範囲)に合致するデータを抽出する|ツイッター出題回答 (2022-08-30)
縦横スピルしないXLOOKUP代替(MATCH+INDEX,FILTER,CHOOSEROWS)|エクセル入門(2022-08-27)
IF関数の論理式で比較演算子を省略したCOUNT系関数を書くのは|ツイッター出題回答 (2022-08-23)
LAMBDA以降の新関数の使用例|エクセル入門(2022-08-22)
数珠順列(配置に条件付き)を全て出力する|ツイッター出題回答 (2022-08-20)
日付時刻のマイナス表示に対応する方法|ツイッター出題回答 (2022-08-17)
LAMBDA以降の新関数について|エクセル入門(2022-08-16)
条件付きの最大値と中央値("A"が2文字の条件)|ツイッター出題回答 (2022-08-14)
VBAマクロと操作対象データの分離について|ツイッター出題回答 (2022-08-11)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Excelショートカットキー一覧|Excelリファレンス
7.並べ替え(Sort)|VBA入門
8.マクロって何?VBAって何?|VBA入門
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
10.エクセルVBAでのシート指定方法|VBA技術解説




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ