Excel VBAの書き方、Subの解説

エクセルVBA VBAの基礎・入門



前回は、セルA1にHelloを表示させてみました。

その際に、1行目に

  Sub A1にHelloを表示()

と記述しました。

Subとはいったい。。。? 

今回は、Excel VBA で必要な「Sub」について解説します。



Excel VBAは、Subで始まりSubで終わる

なにやら意味深なことが表題が書いてありますが、、、とりあえず前回のコードを見てましょう。

Sub A1にHelloを表示()
    Range("A1") = "Hello"
End Sub

これを実行すると

セルA1に文字列「Hello」が表示されました。

ここで、コードを眺めてみると、なんとなく2行目はセルA1に「Hello」を入れているんだな。。。なんてことが想像できます。

それでは、1行目の

  Sub A1にHelloを表示()

と、3行目の

  End Sub

は、なんの意味なのでしょうか?

Subは、「Subプロシージャー」のこと

Subは、「Subプロシージャー」を意味します。

「プロシージャー」とは、プログラム的に言うと、「ひとまとまりの処理の単位」のことです。

なんのことかサッパリわからないと思いますので、料理に例えてみます。

今日の晩御飯に「麻婆豆腐」、「かに玉」、「チャーハン」の三品を作る予定とします。

ここでいう「処理の単位」は、「麻婆豆腐を作る」、「かに玉を作る」、「チャーハンを作る」ということになります。

それぞれが「ひとまとまりの処理の単位」ということになり、専門用語で「プロシージャー」ということになります。

つまり、「プロシージャー」は、 それぞれ「麻婆豆腐を作る」、「かに玉を作る」、「チャーハンを作る」という「ひとまとまりの処理の単位」を表します。

一つのプロシージャーは、「Sub」 と、「End Sub」 で囲むことがVBAコードの記述の決まりになっています。

Subを使ったプログラムコードで晩御飯の料理について記述すると、それぞれの料理は、

Sub 麻婆豆腐()

  麻婆豆腐を作る処理

End Sub

Sub かに玉()

  かに玉を作る処理

End Sub

Sub かに玉()

  チャーハンを作る処理

End Sub

というように記述できます。

「Sub」と「End Sub」で囲まれたそれぞれが一つのプロシージャーということになります。

Subの記述方法

先頭の「Sub」に続けて、半角の空白(スペース)を入力し、「A1にHelloを表示()」を入力します。

「A1にHelloを表示」は、プロシージャー名といいます。

また、「A1にHelloを表示」の後に続けて、「()」を入力しますが、これは今の時点では、そういうものだと思ってください。

  ※ ()の中に文字を入力して使う場合もありますが、それは本入門シリーズ後半になる予定です。

プロシージャー名には、アルファベット、ひらがな、カタカナ、漢字などが使えます。

数字も使用できますが、先頭には使用できません。

アンダーバーは使えますが、記号やスペースなどは使用できない決まりになっています。

使用できない文字を使うとエラーになってしまいます。

つまり、まとめると、

「Sub プロシージャー名()」と 「End Sub」 の間に実行する処理を記述することになります。




VBAの基礎・入門
ブイサバ【Excel VBAサバイバル】~とりあえずここに来れば解決できる~

コメント

タイトルとURLをコピーしました