コードを記述してマクロを作ってみよう
前回の「(32)簡単なマクロを作ってみよう」では、マクロ記録を利用して「こんにちは」とセルに入力するマクロを作ってみました。
今回はマクロを作るもうひとつの方法として、コードを直接記述して同じ内容のマクロを作ってみましょう。

ここで、「コード」という用語が出てきましたが、「コード」というのはVBAの言語で記述された1行の文(ステートメント)のことをいいます。

コードをいくつも記述して出来上がったプログラムのことを「マクロ」といいます。

前回作成した「Book1」を開き、Altキーを押しながらF11キーを押すとVBEが起動します。
左側のプロジェクトウィンドウの「Module1」をダブルクリックすると右側のコードウィンドウに下図のようにマクロが表示されます。





マクロを記述してみよう

ここでは、コードを直接記述して「こんにちは」とセルにB2に入力するマクロを作成します。

@新規のExcelブックを開いてください。



BAltキーを押しながらF11キーを押してVBEを起動します。



Cタスクバーには「Mivrosoft Excel-Book1」と「Microsoft Visual Basic」の2つのボタンが表示されます。このボタンをクリックすることで、Excel(ワークシート画面)とVBE(VBE編集画面)とを切り替えて表示させることができます。




Dコードを記述する場所を作るために、 「挿入」−「標準モジュール」とクリック します。



Eプロジェクトウィンドウに「標準モジュール」が追加され、「Mojule1」が作成されます。

 右のコードウィンドウが白くなり、マクロが記述できるようになります。
  文字を入力するためのカーソルも点滅しています。
 この場所を Module1という名前の「モジュール(マクロを記述する場所)」といいます。
 「Option Explicit」と記述されていますが、「変数の宣言を強制する」ためのコードで、「(25)変数の宣言を強制する設定をおこなう.」で設定しているので、自動的にモジュールの先頭に記述されます。
 「変数の宣言を強制する」というのがどういうことなのかは、あとで学習します。

 「Option Explicit」の後に点滅している文字を入力するためのカーソルをEnterキーを押して図の位置まで下げてください。



F図のように、コードウィンドウにsub test() と半角小文字で記述してEnterキーを押してください。
  マクロを記述する場合、変数名やコメント分以外は必ず半角の文字で入力しなければなりません。



G図のように、自動的に End Sub と記述されて、その真ん中に文字入力用のカーソルが点滅してい
ます。

 このSub Test()から End Sub までをプロシージャといって、1つのマクロ(プログラム)を記述する場所です。
 「test」はプロシージャの名前です。プロシージャを作るときの名前は日本語を使ってもかまいません。
 ここでは「test」という名前のプロシージャ(マクロを記述する場所)を作ったことになります。



H図のようにSub test()とEnd Subの間に
        range("B2") = "こんにちは" 
   と半角英数字の小文字で記述します。「こんにちは」だけは日本語で記述します。
  「B2」と「こんにちは」の両側は、半角の "(ダブルこーティーション)で囲んでください。
  記述し終えたらEnterキーを押してください。

   小文字で入力しても、自動的に英単語の先頭の文字は大文字に変わります。



Iたった1行だけのコードを記述したマクロ(プログラム)ですが、以上でマクロは完成です。
  タスクバーの「Mivrosoft Excel-Book1」ボタンをクリックしてExcelのシートを表示させ、Altキーを押し
ながらF8キーを押してください

J「マクロ」ダイアログボックスが表示されたら「test」を選択して「実行」をクリックします。



KセルB2に「こんにちは」と入力されます。

 もし入力されなかったり、エラーが出る場合は記述したコードの文字に誤りがあります。
 確認してみましょう。






記述したコードの説明

たった1行ですが記述したコードの意味を説明しましょう。

 Range("B2") = "こんにちは"
 Rangeはセルを意味します。したがってRange(“B2”)はセルB2を意味します。
 = は「右側の値を左側に代入(格納)する」という記号です。つまり、「右側の文字を左側のセルに入力しなさい」という意味です。

 記述したコードを実行すると、「こんにちは」という文字が「セルB2」に入力されるというわけです。

 前回のマクロ記録で作成したマクロ(下図上)と今回のマクロを記述する方法で作成したマクロ(下図下)を比較すれば一目瞭然ですね。マクロ記録は便利ですが、コードが冗長されるのが欠点といえるでしょう。

        マクロ記録で作成したマクロ


        今回のマクロを記述する方法で作成したマクロ