こんにちはJitanTechです。
今回の記事では ExcelVBAの基礎 をわかりやすく解説します。
この記事の対象読者は、まったくプログラムを触ったことがない方を想定しています。
ではいってみましょう。
プログラムとは何か
そもそもプログラムとは何でしょうか。プログラムとはパソコンに私たちが指示をして、パソコンに仕事をさせるための命令のことです。つまり、私たちはあらかじめ命令を作成しておき、パソコンに命令通りに仕事をしてもらうことができるのです。
もちろん、命令以外のことはしてくれません、命令が間違っていてもロボットはその通り間違いを実行します。ですので、間違えないように命令をしなくてはいけません。
Excelのプログラム方法
ではここからさっそくプログラムを書いていきましょう。でもいったいどこにプログラムを書けばいいのでしょうか?Excelには VBE(Visual Basic Editor)が搭載されており、ここにプログラムを書いていきます。
VBEを開くには、まず Excel を開きます。次に「Alt」+「F11」を同時に押します。そうするとVBEが開きます。
まずは Excel を開きます。

「Alt」+「F11」 を押してVBEを開きます。

標準モジュールの作成
標準モジュールとは、コードを書くための場所です。
画面の左側に「プロジェクト – VBAProject」という枠があります。ここで「右クリック」⇒「挿入(N)」⇒「標準モジュール」をクリックします。

以下の画像のように 標準モジュール が作成されました!


ところで他に、ユーザフォームとか、クラスモジュール
とかあったけど何?

ユーザフォームは GUI のように テキストボックス や
ボタン を配置できる。クラスモジュールはオブジェクト
指向の知識が必要だから今は気にしなくていい。
サブプロシージャの作成
標準モジュールが作成できたら、次にサブプロシージャを作成します。

サブプロシージャ???????
もう何が何だか・・。

落ち着いて!! サブプロシージャとは
サブ(Sub):副(メイン主 ではなく サブ副)
プロシージャ(Procedure):手順(パソコン実行してもらう手順)
つまり プログラム(命令)のことです。

うーん。サブって・・・メインはどこ・・。

VBAに メインプロシージャ は存在しない。
VBAは サブプロシージャの集まり なんだ。
サブプロシージャの書き方
サブプロシージャは以下のように書きます。
Sub プロシージャ名()
’ ここに処理(命令)を書く
End Sub
まずは Sub と書き 半角スペースを空けて プロシージャ名を書きます。プロシージャ名はプログラムの「題名」で、その処理が何をしているのかを自由に書いてください。日本語も可能です。ただし数字から始まる題名にはできません。最後に()を書きます。
最後は End Sub と書きます。これによりプログラムが停止します。Sub プロシージャ名() と End Sub までの間に実現したい処理を書いていきます。

え・・プロシージャ名はなんでもいいの?
なら「すごく便利なプログラム()」でもいいの?

いいけど、具体的に書いたほうが後から見た時に分かり
やすい。たとえば、「メッセージを表示する()」にする。
Sub メッセージを表示する()
’ ここに処理(命令)を書く
End Sub
メッセージボックスを表示するプログラム
では処理(命令)を書いていきましょう。ここではメッセージボックスを表示するプログラムを書いていきます。メッセージボックスを表示するには Msgbox 関数を使用します。

Msgbox関数?いやいや関数て何ですか????
数学をしてるつもりはないんですが・・。

これは英語の「Function(関数・機能)」に由来している。
つまり、Msgbox を表示するための 機能 ということだ。
関数を使用する場合、その関数を使うためのルールが存在します。たとえば Msgbox関数を使用する場合、以下の書式を守る必要があります。
‘ Msgbox関数の書式(書き方のルール)
Msgbox “ここに表示したい文字”
まずは Msgbox と書いて、半角スペースを空けてから「 “ ダブルクォーテーション 」を書き 「表示したい文字を書きます」 そして最後に「 “ ダブルクォーテーション 」を書いて 閉じます。

うーん。めんどくさいです。
関数ごとにルールがあるなんて・・。

どのルールは単純だ。
この場合は「表示したい文字」を関数に渡す
というルールがあるだけだ。

じゃあ表示したい文字は「マツコ・デラックス★」にするとして
Msgbox “マツコ・デラックス★”
でいいかな?

・・・
ではここで完成したプログラムを見てみましょう。
Sub メッセージを表示する()
‘ ここに処理(命令)を書く
MsgBox “マツコ・デラックス★”
End Sub
サブプロシージャの実行方法
サブプロシージャを実行するにはどうすればいいのでしょうか? VBE画面 の上のほうに ▶ があります。これがプログラムの 実行ボタン です。

実行結果
実行すると「マツコ・デラックス★」が表示されました!

まとめ
今回の記事では、Excel VBAの基礎をお伝えしました。
まったくプログラムを触ったことがない方は「サブプロシージャ」や「関数」などに対して疑問を抱かれると思います。
それらの疑問も、この記事で理解することができたのではないかと思います。
この記事がVBAを始めるきっかけになれば幸いです。
ではまた。
コメント