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)

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

データクレンジングと名寄せ|ExcelマクロVBA技術解説(10月20日)
SUMIFの間違いによるパフォーマンスの低下について|エクセル関数超技(6月17日)
条件式のいろいろな書き方:TrueとFalseの判定とは|ExcelマクロVBA技術解説(6月15日)
空白セルを正しく判定する方法2|ExcelマクロVBA技術解説(5月6日)
フルパスをディレクトリ、ファイル名、拡張子に分ける|ExcelマクロVBA技術解説(4月15日)
テキストボックスの各種イベント|Excelユーザーフォーム入門(4月9日)
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除|ExcelマクロVBAサンプル集(4月4日)
最後の空白(や指定文字)以降の文字を取り出す|エクセル関数超技(3月26日)
先頭の数値、最後の数値を取り出す|エクセル関数超技(3月26日)
Excelファイルを開かずにシート名をチェック|ExcelマクロVBAサンプル集(3月23日)

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

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.RangeとCellsの使い方|ExcelマクロVBA入門
3.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
4.変数とデータ型(Dim)|ExcelマクロVBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
6.定数と型宣言文字(Const)|ExcelマクロVBA入門
7.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
8.マクロって何?VBAって何?|ExcelマクロVBA入門
9.CSVの読み込み方法|ExcelマクロVBAサンプル集
10.ひらがな⇔カタカナの変換|エクセル基本操作



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

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


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

    ↑ PAGE TOP