第2回.マクロを書いて動かす(SubとF5)
マクロを実際に書いて動かしてみましょう、
知識の積み上げも必要ですが、それ以上に必要なのが体験の積み上げです、
マクロVBA習得においては、
とにかく書く、
とにかく動かす、
この経験に勝るものはありません。
マクロ有効ブックの作成
っと、その前にブックを用意しましょう。
・新規ブックを名前を付けて保存します。
ただし、ファイルの種類に気をつけてください。
必ず、マクロ有効ブックにしてください。
![Excel ファイルの種類](image1.jpg)
これでは、マクロが保存できないのです。
![Excel ファイルの種類](image2.jpg)
「Excel マクロ有効ブック」となっていることを確認してください。
マクロVBAを書いてみる
標準モジュールが挿入してなければ、標準モジュールを挿入して下さい。
標準モジュールを挿入したはずなのに見当たらない場合は、
![Excel 標準モジュール](image10.jpg)
標準モジュールがあり、その下に、Module1があれば、標準モジュールは挿入済みなので、
このModule1をダブルクリックしてください。
![Excel サンプル プロシージャー](image11.jpg)
subは小文字で入力します。
すると、
![Excel サンプル プロシージャー](image12.jpg)
subの先頭のsが大文字のSとなり、後ろに()が付きます。
そして、下に、End Subが追加されます。
SubからEnd Subの間に、やりたいことをマクロの言語であるVBAで書いていきます。
上では何も書いていませんので、マクロの器だけ用意した事になります。
さすがにこれでは、何もしないマクロってことになりますので、何か書き加えてみましょう。
それには、「TAB」キーを押します。
「TAB」キーは(大抵のPCでは)キーボードの一番左の上から3番目です。
![Excel サンプル プロシージャー](image13.jpg)
では、
![Excel サンプル プロシージャー](image15.jpg)
msgboxは小文字で入力します。
すると、
![Excel サンプル プロシージャー](image16.jpg)
msgboxのmとbが大文字に変わりMsgBoxとなります。
・英単語をそのまま
・英単語を連結している
・英語の頭文字で略している
ほぼこの3通りおよびその組み合わせになっています。
MsgBoxは、MessageBoxの略になっていますね。
マクロVBAの実行
マクロの実行方法は、
入力カーソル(縦棒の点滅、下の画像では、MsgBoxの下)が、
Sub~End Subの間にある状態で行います。
![Excel プロシージャーの実行](image17.jpg)
または、メニューの実行
ショートカットとしてはF5が用意されています。
![Excel サンプル](image18.jpg)
ちゃんとメッセージボックスが表示されたはずです。
メッセージボックスはOKボタンを押して閉じてくださいね。
以上が、マクロを書いて実行する手順です。
複数のマクロVBAを書く
![Excel サンプル プロシージャー](image19.jpg)
subの中は、TABでインデントを付ける
大文字で書こうが、インデントを付けなかろうが、マクロは動きます。
でも、でも、これは絶対に守ってください。
マクロが自在に書けるようになった時、この重要性が分かリます。
それまでは、そのように書くものだと理解してください。
このように、一つの標準モジュールに複数のマクロが書けます。
いくつでも好きなだけマクロを追加していけます。
プロシージャーとは
プロシージャーといいます。
呼び方など知らなくてもマクロを書けますが、今後の説明の便宜上必要なので書きました。
今後は、マクロという言い方と、プロシージャーという言い方が混在することもあるかもしれませんが、同じこととしてとらえてください。
1つのマクロの塊をVBAではプロシージャーと呼ぶというだけの事です。
上のマクロで書いた、
練習1や練習2がマクロの名前になります。
この名前の付け方に若干の制限があります。
・英記号は_アンダーバーのみ(半角・全角とも)
・先頭に数字は使えない
・一つの標準モジュール内では、同じ名前は付けられない
何より、日本語で書けば、上記の制限はほとんど気にならないはずです。
「マクロを書いて動かす」のまとめ
・sub 名前 ここまで入れたらEnter
・Subの中では、TABキーでインデント
・Sub~End Subの間に入力カーソルを置いて実行F5
ExcelマクロVBA入門の対応ページ
第7回.マクロを実行するには(F5)
同じテーマ「マクロVBA再入門」の記事
第3回.セルに数字や文字を入れる(RangeとCells)
新着記事NEW ・・・新着記事一覧を見る
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.メッセージボックス(MsgBox関数)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.並べ替え(Sort)|VBA入門
10.ブック・シートの選択(Select,Activate)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。