どこに書くの?ExcelでVBAプログラムを書いてみよう!

Excel / VBA

初めて、ExcelでVBAプログラミングをしたいと思っても、Excelのどこに書いたら良いのか分からないという方も多いかと思います。

この記事では、VBAを書く場所と簡易なプログラムをExcelの図形に登録する方法を説明します。

プログラムを書くための画面を開く

VBAプログラムの環境を作る際に追加した[開発]タブが、Excelのプログラム開発で使用する場所になります。

まだ、VBAプログラムを実行する環境ができていない方は、以下の記事を参考にしてください。

[開発]タブをクリックし、「Visual Basic」をクリックします。

表示されたVBEには、最初から「プロジェクトエクスプローラー」と書かれた画面が表示されます。

このプロジェクトエクスプローラーには、開いているExcelファイル名とシート名がすべて表示されます。

単純にExcelファイルを開いただけでは、シートしか見えませんが、ここにプログラムファイルを追加していきます。VBEを開くと、そのExcelファイルが持っているプログラムをすべて表示できます。

ちなみに、「プロジェクトエクスプローラー」が表示されない場合は、「表示」>「プロジェクトエクスプローラー」をクリックすることで表示できます。他の表示も同じです。表示したいものがあれば、「表示」から開けます。不要な画面は✖で閉じ、必要な時に開けます。

それでは、プログラムを記述するシートを追加していきましょう。
プログラムを追加するExcelファイルをどこでも良いので選択し、「右クリック」>「挿入」>「標準モジュール」をクリックします。

「標準モジュール」というフォルダの中に「Module1」というシートが追加されました。「Module1」を「右クリック」>「コードの表示」をクリックすると、画面右に白い画面が表示されます。ここにプログラムを書いていきます。

簡単なプログラムを書いてみる

「標準モジュール」の「Module1」ファイルに簡単なプログラムを書いてみましょう。

下に書いたプログラムを「Module1」ファイルに直接入力するか、プログラムの右上ボタンでコピーし貼り付けてください。

Private Sub Sample()
    MsgBox "メッセージボックスです!"
End Sub

プログラムを実行するには、記載したプログラムを選択した状態で、画面上の「実行」ボタンをクリックします。

下のようにメッセージボックスが表示されれば、成功です。

VBAプログラムをボタンで起動させる

先ほどは、「実行」ボタンをクリックしてメッセージボックスを表示しました。しかし、実際はExcel上で実行したいですよね。それでは、Excel上にあるボタンをクリックした際にメッセージボックスが表示されるようにします。

まず、Excel上にオブジェクト(四角や丸など)を配置します。何でも良いのですが、あえてボタンっぽいものを作成します。[挿入]タブ >「図」>「図形」の順にクリックし、四角形をクリックします。

Excelに図形が挿入されたら、「図形のスタイル」でボタンっぽいデザインにしてください。

ボタンをクリックしたときの動作を登録していきます。図形を「右クリック」>「マクロの登録」をクリックします。

「マクロの登録」画面が表示されるので、そのまま「新規作成」をクリックします。

VBE画面が表示されるので、Sub ~ End Subで囲われている ~ の部分に実施させたい処理を書きます。ここでは、

MsgBox "メッセージボックスです!"

を書いてください。

VBEを閉じます。作成したボタンをクリックし、メッセージボックスが表示されれば成功です。

ここでポイントは、

  「マクロの登録」画面のマクロ名 = VBEに記載した名前

ということです。ここが違うとExcel上のボタンとVBEに記載したプログラムの処理がひもづかないので、メッセージボックスが表示されません。

まとめ

今回は、ExcelファイルのどこにVBAを記載すると処理が実行できるのかを紹介しました。

また、Excelファイル上のボタンにVBAで記載したプログラムを登録する手順に関して、書いてみました。少し、ボタンなどの図形とプログラムの関係が分かってきたのではないでしょうか。

では、さらに実践的に記述していく方法が知りたい人は、以下の記事を参考に流れを確認してみてください。