ExcelマクロVBA再入門 | 第2回.マクロを書いて動かす(SubとF5) | マクロが覚えられないという初心者向けに理屈抜きのやさしい解説



最終更新日:2016-08-19

第2回.マクロを書いて動かす(SubとF5)


マクロを実際に書いて動かしてみましょう、
知識の積み上げも必要ですが、それ以上に必要なのが体験の積み上げです、
マクロ習得においては、
とにかく書く、
とにかく動かす、
この経験に勝るものはありません。

前回のマクロを書く準備は完了していますよね。


ではさっそく書いていきましょう。
っと、その前にブックを用意しましょう。

・新規ブックを開いてください。
・新規ブックを名前を付けて保存します。
 ただし、ファイルの種類にきをつけてください。
 必ず、マクロ有効ブックにしてください。
 



最初は上のように、Excel ブック(*.xlsx)となっていますが、これでは、マクロが保存できないのです。



拡張子(*.xlsm)の部分は表示されないPCもありますが気にしなくて良いです。
Excel マクロ有効ブック」となっていることを確認してください。

VBEを起動(開発タブからVisual Basic)してください。
標準モジュールが挿入してなければ、標準モジュールを挿入して下さい。
標準モジュールを挿入したはずなのに見当たらない場合は、



このように、VBEの左上のプロジェクトという部分の一番下に、
標準モジュールがあり、その下に、Module1があれば、標準モジュールは挿入済みなので、
このModule1をダブルクリックしてください。

はい、ではマクロを書きましょう。



sub 練習1

と入力し、Enterして下さい。
subは小文字で入力します。

すると、



このように、

subの先頭のsが大文字のSとなり、後ろに()が付きます。

そして、下に、End Subが追加されます。


これが1つの機能を持ったマクロになります。

SubからEnd Subの間に、やりたいことをマクロの言語であるVBAで書いていきます。

上では何も書いていませんので、マクロの器だけ用意した事になります。

さすがにこれでは、何もしないマクロってことになりますので、何か書き加えてみましょう。

Subの中に何かを書くときは、1段さげて書きます、インデントと言います。

それには、「TAB」キーを押します。
「TAB」キーは(大抵のPCでは)キーボードの一番左の上から3番目です。



このように、「TAB」キーを押すことで、半角4文字分下がった状態になります。

では、



msgbox "おはよう"

と入力し、Enterして下さい。
msgboxは小文字で入力します。

すると、



このように、

msgboxのmとbが大文字に変わりMsgBoxとなります。

MsgBoxはメッセージボックスといって、MsgBoxに続けて書いた文字を、ポップアップウインドウとして表示するものです。

さて、マクロを書いたら、実行しないと意味がありません。

マクロの実行方法は、

入力カーソル(縦棒の点滅、下の画像では、Mの下)が、

Sub〜End Subの間にある状態で行います。



挿入の下にあたりにある右向き緑の三角、または、メニューの実行
ショートカットとしてはF5が用意されています。



どうですか、
ちゃんとメッセージボックスが表示されたはずです。

メッセージボックスはOKボタンを押して閉じてくださいね。

以上が、マクロを書いて実行する手順です。

続けて、もう一つマクロを書いてみましょう。



練習1の時と同じ手順で書けましたか。

小文字で入力する
subの中は、TABでインデントを付ける


逆に面倒・・・などと思わないでくださいね、
大文字で書こうが、インデントを付けなかろうが、マクロは動きます。
でも、でも、これは絶対に守ってください。
マクロが自在に書けるようになった時、この重要性が分かリます。
それまでは、そのように書くものだと理解してください。

練習1と練習2が出来ましたが、
このように、一つの標準モジュールに複数のマクロが書けます。
いくつでも好きなだけマクロを追加していけます。

マクロと言う言い方をしていますが、VBAでの正式な呼び方としては、
プロシージャーといいます。
呼び方など知らなくてもマクロを書けますが、今後の説明の便宜上必要なので書きました。
今後は、マクロという言い方と、プロシージャーという言い方が混在することもあるかもしれませんが、同じこととしてとらえてください。
1つのマクロの塊をVBAではプロシージャーと呼ぶというだけの事です。

ここでもう少しだけ文法の話をします。

上のマクロで書いた、
練習1や練習2がマクロの名前になります。
この名前の付け方に若干の制限があります。

・使える文字は、
 英数大小文字および全角(漢字も含む)が使えます。
 ただし、英記号は_アンダーバーのみ(半角・全角とも)
・先頭に数字は使えない
・一つの標準モジュール内では、同じ名前は付けられない

これだけ覚えておけばOKです。
何より、日本語で書けば、上記の制限はほとんど気にならないはずです。

※※※ まとめ ※※※

・標準モジュールを挿入
・sub 名前 ここまで入れたらEnter
・Subの中では、TABキーでインデント
・Sub〜End Subの間に入力カーソルを置いて実行F5





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

第1回.マクロを書く準備をする(VBAとVBE)
第3回.セルに数字や文字を入れる(RnageとCells)
第4回.セルの値を使って計算する(四則演算)
第5回.同じ計算を行数分繰り返す(For〜Next)
第6回.表の先頭から最終行まで繰り返す(ForとEnd(xup).Row)
第7回.セルの値によって計算を変える(ステートメント)
第8回.表範囲をまとめて消去する(OffsetとClearContents)

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

スプレッドシートが非常に遅い、高速化するには|Google Apps Script入門(1月17日)
画像のトリミング(PictureFormat,Crop)|ExcelマクロVBAサンプル集(12月27日)
シート保護|Google Apps Script入門(12月24日)
表示の固定|Google Apps Script入門(12月24日)
グラフ|Google Apps Script入門(12月21日)
入力規則|Google Apps Script入門(12月13日)
並べ替え|Google Apps Script入門(12月12日)
メモの挿入・削除と改行文字|Google Apps Script入門(12月6日)
リンクの挿入・編集・削除|Google Apps Script入門(12月6日)
セルに数式を入れる|Google Apps Script入門(12月1日)

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

1.RangeとCellsの使い方|ExcelマクロVBA入門
2.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
3.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
4.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
5.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
6.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
7.ひらがな⇔カタカナの変換|エクセル基本操作
8.CSVの読み込み方法|ExcelマクロVBAサンプル集
9.変数とデータ型(Dim)|ExcelマクロVBA入門
10.VBAのFindメソッドの使い方には注意が必要です|ExcelマクロVBA技術解説



  • >
  • >
  • >
  • マクロを書いて動かす(SubとF5)

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


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

    ↑ PAGE TOP