1回目:エクセルでプログラミングの始め方

更新日:2023/9/7 [投稿日:2023/3/2]

『【超入門】エクセルVBAでプログラミングの基礎を学習』の1回目(全6回)です。エクセルを使ってプログラミングの始め方や、簡単なプログラムの作成と実行を学習します。1回目はプログラミングの全体の流れを把握するのが目的です。

開発環境を準備する

まずは、プログラムを書き始める準備をします。プログラミング言語によって、テキストエディタだけ用意すればよかったり、特別なアプリが必要になります。特別なアプリはIDE(総合開発環境)とも呼ばれます。

IDE(総合開発環境)

IDE(総合開発環境)とは、プログラミングに必要な機能が全て揃っているアプリケーションです。例えばプログラミング言語のJAVAやPython、PHPなどは「Eclipse」というIDEがよく使われます。この開発環境を準備するだけでも半日かかったりすることもあります。

エクセルVBAの開発環境

エクセルが標準インストールされていれば、開発環境もすでにインストール済みです。エクセルのプログラミング言語はVBA。まず、エクセルを起動したら、Alt+F11キーをタイプしてください。下のような画面が表示されます。画面タイトルは「Microsoft Visual Basic for Applications」。つまりこの画面がVBAの開発環境になります。

上記の図では、左側の上部に「プロジェクト- ○○○○○○」、下部には「プロパティ- ○○○○○○」という小さなウィンドウが表示されてます。この図と同じ画面でなくても大丈夫。「プロジェクト- ○○○○○○」ウインドウがない場合はメニューの「表示」から「プロジェクトエクスプローラ」を選択して表示してください。

※多くのIDEではまずプロジェクトを作ります。プロジェクトは複数のプログラムを入れる箱のようなものです。エクセルでは1ファイル(1Book)で1プロジェクトとなり、初めから用意されてます。

次にプログラムを書く画面を次のように開きます。「プロジェクトエクスプローラ」の任意の場所で右クリックします。下の図のように「標準モジュール」を選択します。

右側にプログラムを書くための画面が表示されました。

プログラムを書いてみる

それでは早速プログラムを書いてみたいと思います。内容はともかく次の2行を書いてみましょう。

Sub Test1()
End Sub

エラーが表示される

タイプミスがあると、下の図のように赤い文字になってエラーメッセージが表示されます。「間違ってるよ!」と警告されるのですが、これはVBAの開発環境が自動で構文チェックを行っているためです。この自動構文チェック機能は他のIDEにもあります。

自動構文チェックのメッセージを無効にする

メニューの「ツール」-「オプション」、タブ「編集」画面で「自動構文チェック」を外すとメッセージが表示されなくなります。ただ、チェック機能は働いていて、エラーの箇所は赤くなります。

プログラムの始まりと終わり

先ほど書いた2行のプログラムは実行しても何もしません。この2行はプログラムの始まりと終わりを書いただけです。プログラミング言語は必ずと言っていいほどプログラムの始まりと、終わりの記述ルールがあります。この記述ルールは『構文』と呼ばれます。

構文(記述ルール)の確認方法

どのような構文なのか確認する方法があります。エクセルの場合は、調べたい文字のどこかにポインタを移動して「F1」キーを押します。Subの細かい説明が出てきますが、『構文』を探してください。他の言語でも、”調べたい文字 構文”でWeb検索すればいろいろと出てきます。

Subの構文は次のようになります。

[Private | Public | Friend] [Static] Sub name
[(arglist)]
[statements]
[Exit Sub]
[statements]
End Sub

[]内は省略可能なので、必須なのは赤い太字の部分だけです。

※Subステートメントで唯一必須なのがnameですが、このnameは「Visual Basicの名前付け規則」に沿っている必要があります。例えば次のようなルールがあります。詳しくは検索で調べてください。
  • 先頭は文字
  • スペース、ピリオド (.)、感嘆符 (!)などは使えない
  • 半角で255文字以内
日本語も使用できます。

プログラムを実行する

先に進めるために、1行の命令文を追加します。下記のように追加してください。

Sub Test1()
  MsgBox “Hello World!!”
End Sub

プログラムの実行の仕方

エクセルでプログラムを実行するには、いくつか方法がありますが、手っ取り早いのが、「F5」キーを押すだけ。今書いたプロシージャーのどこかにポインタを置いて「F5」キーを押してください。下図のようにメッセージが表示されました。

OKボタンを押してプログラムを終了してください。

上記のプログラムで”MsgBox”というのがメッセージを表示する命令です。”Hello World!!”が”MsgBox”の引数になります。

※”引数”は命令(この場合”MsgBox”)が実行するのに必要な情報です。2回目以降で詳しく紹介していきます。

プログラムのコメント

最後にプログラムを書くのにあたって知っておきたい「コメント」について紹介します。次のプログラムを見てください。

Sub Test1()
  ’メッセージを表示する
  MsgBox “Hello World!!”
End Sub

グリーンの文字で「’メッセージを表示する」という文を追加しました。この文は実行されない「コメント行」です。エクセルのコメントは’(シングルクォート)で始まります。どのプログラミング言語もコメントをプログラム中に書くことができますが、シングルクォート以外に//だったり、/*だったり様々で、言語特有のルールがあります。

命令文が何を処理しているのか後で分かりやすいようにコメントを書いておくと後で修正が楽になります。

以上で第1回目を終了します。

エクセルを保存する際に「ファイルの種類」で『Excelマクロの有効ブック』を選択して保存してください。また、このファイルを開くとマクロを有効にするかどうかのメッセージが表示されますので、”有効にする”を選択して開いてください。有効にするかどうかのメッセージを無効にすることも可能ですが、Excelファイルをネットなどからダウンロードすることがある場合は、無効にしないほうが無難です。