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

ExcelマクロVBAの基本と応用、エクセルVBAの初級・初心者向け解説
公開日:2013年5月以前 最終更新日: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とは?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 ・・・新着記事一覧を見る

テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)
VBAでクリップボードへ文字列を送信・取得する3つの方法|VBA技術解説(2023-12-07)
難しい数式とは何か?|エクセル雑感(2023-12-07)
スピらない スピル数式 スピらせる|エクセル雑感(2023-12-06)
イータ縮小ラムダ(eta reduced lambda)|エクセル入門(2023-11-20)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.並べ替え(Sort)|VBA入門
8.条件分岐(IF)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門




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


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



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