【Excel VBA】VBAの基礎を初心者でもわかるように詳しく解説します

ExcelVBA

こんにちは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を始めるきっかけになれば幸いです。

ではまた。

コメント