ExcelマクロVBA入門
第6回.とにかく書いて見よう(Sub,End Sub)

Excelマクロの基礎と応用、エクセルVBAの入門・初級・初心者向け解説
最終更新日:2019-06-25

第6回.とにかく書いて見よう(Sub,End Sub)


それでは、とにかく、マクロを書いてみましょう。


エクセル マクロ VBA 画像

sub 練習1

と入力し、Enterして下さい、

エクセル マクロ VBA 画像

このように、subSubとなり、後ろに()が付きます。
そして、下に、End Subが追加されます。

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

SubからEnd Subの間に、いろいろと処理内容を書き込みます。
上では、何も機能を書いていませんので、マクロの器だけ用意した事になります。


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

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

Excel サンプル プロシージャー

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

では、少し書き加えてみましょう。


その前に、今後の説明てして、
マクロの記述部分は、以下のように枠で囲った中に表示します。
表示しているページの他の説明文と区別しやすいようにです。

Sub 練習1()
  Range("A1") = "おはよう!"
End Sub


これは、ワークシートのA列1行のセルに、「おはよう!」という文字を入れるマクロになります。


タイピングする時は、小文字で入力します。

エクセル マクロ VBA 画像

=の前後も続けて入力して構いません。
そして、Enterすると、

エクセル マクロ VBA 画像

このように、
rangeRangeと、先頭が大文字に変換されます。
これは、Rangeが正しい記述であり、自動で変換されたという事です。
しかし、スペルが間違っていて、rengeと入れていれば、大文字には変換されません。
そこで、タイピングする時は小文字で入力します。
これは、タイピングの手間の問題もありますし、スペルミスに気付きやすくなる利点があります。

ただし、ダブルクォーテーションの中は、固定文字なので変換はされません。
"a1"と入力しても、"A1"とは変換されません。
このA1はセル番地なので、
シート上の関数と同じ見た目になるように大文字で入れる事をお勧めします。

また、=の前後には、自動で半角空白が空いて見やすく整形されます。
=の前後は、半角空白を特に入力する必要はありません。
もちろん=の前後に半角空白を入力しても問題ありません。



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

第3回.マクロの記録

エクセルのマクロを説明する上ではまず最初に「マクロの記録」を説明しなければなりません。マクロの自動記録とも言われたりしますが要はエクセルの手動での操作が自動記録されるものですもちろんマクロの言語であるVBAで記録されます。実際にはマクロの記録から作成されたVBAコードを修正して使う事はしません。
第4回.マクロはどこに書くの(VBEの起動)
さてではマクロはどこに書いたらよいのでしょうか。まずはマクロを書くための紙に相当する編集画面を出します。このマクロの編集画面をVisualBasicEditor略してVBEと呼びます。「VisualBasicEditor」の表示方法 Excel2007Excel2010以降 リボンの「開発」→「VisualBasic」Excel2003 「ツール」→「マ…
第5回.VBEのオプション設定(Option Explicit)
マクロを書き始める前に、ちょっと設定しておいた方が良いオプションがあります。いえ、絶対に設定しておかなければならないVBEのオプション設定です、必ず、最初に設定しておいてください。VBEの「ツール」→「オプション」以下の画面が出ます。
第6回.とにかく書いて見よう(Sub,End Sub)
第7回.マクロを実行するには(F5)
それでは前回作ったマクロ、「練習1」を実行してみましょう。マクロを実行する方法は、大きく2通りあります、・VBEの画面で実行 ・ワークシートで実行 その時の都合で、どちらで実行しても構いません。ボタンをクリックすることでマクロが自動実行されるのを見たことがあるかもしれません。
第8回.セルに文字を入れるとは(Range,Value)
前回実行したマクロを、もう少し詳しく見てみましょう。どうして、これでセルに値がはいるのか、どうやってVBAを読んだらよいのか、少しだけ詳しく解説します。とにかくこれで、A1セルに、「おはよう!」と入る事がわかりました。
第9回.Rangeでのセルの指定方法
前回までに出てきたRangeの使い方はRange("A1") このように書きくことで1つのセルを指定する場合でした。複数のセル範囲を指定する場合矩形のセル範囲行全体列全体特殊なセル範囲 これらの指定方法を見ていきましょう。複数のセル(矩形のセル範囲) 複数のセル(矩形のセル範囲)を指定する場合のVBAの書き方です。
第10回.Range以外の指定方法(Cells,Rows,Columns)
Rangeの指定で、あらゆるセルおよびセル範囲は指定できるのですが、マクロで使う場合は、ちょっと使いづらい場合があります。_A1_や_B5_と言うような文字で指定するのでは何かと不便です、もっと、プログラムっぽい(笑)指定方法があります。
第11回.RangeとCellsの使い方
VBAではセルを指定する方法としてRangeとCellsがありますRangeもCellsもどちらもRangeオブジェクトでセルを指定するものです。どちらを使ったらよいのでしょうかどう使い分けたらよいのでしょうか実際のVBA記述ではRangeとCellsを使い分ける必要がありますRangeとCellsの使い方について解説をします。
第12回.変数とデータ型(Dim)
VBA入門者がまず最初につまずくのがこの変数でしょう変数とは数値や文字列など(すなわちデータ)を一時的に格納する入れ物 と良く説明されますがまずはこの考えで良いでしょう。この入れ物にはいろいろなタイプの入れ物があります。まあザルもあればダンボールもあればバケツもあればって事ですね。
第13回.定数と型宣言文字(Const)
前回は、変数を説明しましたが、変数があれば、当然のように定数もあります、つまり、変数は値が変わるもの、定数は値が変わらないものです。定数とは、数値や文字列の代わりに使用される、意味を持たせた名前のことです。VBAプログラムの中で同じ値を何度も使うことがあります。


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

Byte配列と文字コード関数について|VBA技術解説(8月20日)
PowerQueryの強力な機能をVBAから利用する方法|VBA技術解説(8月4日)
練習問題31(セル結合を解除して値を埋める)|VBA練習問題(7月30日)
練習問題30(マトリックス→リスト形式)|VBA練習問題(7月25日)
Applicationを省略できるApplicationのメソッド・プロパティ一覧|VBA技術解説(7月22日)
コレクション(Collection)の並べ替え(Sort)に対応するクラス|VBA技術解説(7月20日)
CSVの読み込み方法(ジャグ配列)|VBAサンプル集(7月15日)
その他のExcel機能(グループ化、重複の削除、オートフィル等)|VBA入門(7月14日)
オートフィルタ退避回復クラスを複数シート対応させるVBAクラス|VBA技術解説(7月6日)
オートフィルタを退避回復するVBAクラス|VBA技術解説(7月6日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.繰り返し処理(For Next)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.ひらがな⇔カタカナの変換|エクセル基本操作
10.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説



  • >
  • >
  • >
  • とにかく書いて見よう(Sub,End Sub)

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


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




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