ExcelVBA

Excel VBAを利用してみた

Excel VBAを利用すると、Excelファイルを編集する定型的な業務を自動化することができ、他の言語の開発現場でも、Excel VBAを利用したツールを利用することが多い。

今回は、Excel VBAを使って開発が行えるまでの準備を行ってみたので、その手順を共有する。

なお、Excel VBAについては、以下のサイトを参照のこと。
http://e-words.jp/w/VBA.html

前提条件

Windows端末上に、下記バージョンのMicrosoft Excelがインストール済であること。
エクセルのバージョン

なお、上記Excelのバージョンを確認する手順については、以下のサイトを参照のこと。
https://office-hack.com/excel/version/

やってみたこと

  1. 開発タブの表示
  2. ExcelファイルをExcel マクロ有効ブックとして保存
  3. VBAプログラムの作成と実行

開発タブの表示

Excelで開発タブを表示することで、Excel VBAのプログラムを作成・編集するための画面(Visual Basic Editor)を表示することができる。その手順は以下の通り。

1) スタートメニューから「Excel」を選択
開発タブの表示_1

2) Excelのメニューで「ファイル」メニューを選択
開発タブの表示_2

3) 下記画面に遷移するので、「オプション」メニューを選択
開発タブの表示_3

4) 以下のように、Excelのオプション画面が開くので、「リボンのユーザー設定」を選択し、「開発」にチェックを入れ、「OK」ボタンを押下
開発タブの表示_4

5) 以下のように「開発」タブが表示され、「開発」タブを選択すると左上に「Visual Basic」が表示されることが確認できる
開発タブの表示_5

ExcelファイルをExcel マクロ有効ブックとして保存

Excel VBAのソースコードを記載したファイルを保存するには、「Excel マクロ有効ブック(*.xlsm)」 として保存する必要がある。その手順は以下の通り。

1) Excelのメニューで「ファイル」メニューを選択
VBAファイルの保存_1

2) 下記画面に遷移するので、「名前を付けて保存」を選択
VBAファイルの保存_2

3) 下記画面に遷移するので、「参照」を選択
VBAファイルの保存_3

4) 保存先を指定し、ファイルの種類に「Excel マクロ有効ブック(*.xlsm)」 を指定し、「保存」ボタンを押下
VBAファイルの保存_4

5) 以下のように、指定したファイル名で、Excel マクロ有効ブックとしてファイルが保存されたことが確認できる
VBAファイルの保存_5_1

VBAファイルの保存_5_2

VBAプログラムの作成と実行

VBAプログラムを作成・実行する手順は、以下の通り。なお、今回はVBAの関数として、戻り値を返さないSubプロシージャを利用するものとする。

1) 保存した「SampleVBA.xlsm」を開き、「開発」タブから「Visual Basic」を選択
VBAの作成と実行_1

2) 以下のように、VBAプログラムを編集する画面(Visual Basic Editor)が表示されるので、「挿入」メニューから「標準モジュール」を選択
VBAの作成と実行_2

3) 追加された標準モジュール「Module1」に、”Hello World!!”というダイアログを表示する以下の関数を記載し、「上書き保存」ボタンを押下

VBAの作成と実行_3

また、作成したVBAプログラムを実行する手順は、以下の通り。

4) 保存した「SampleVBA.xlsm」を開き、「開発」タブから「マクロ」を選択
VBAの作成と実行_4

5) 先ほど保存したVBAプログラムのSubプロシージャ(vbaTest)が一覧に表示されているので、この状態で「実行」ボタンを押下
VBAの作成と実行_5

6) 以下のように、「Hello World!!」を出力したダイアログが表示されることが確認できる。ダイアログを閉じるには「OK」ボタンを押下
VBAの作成と実行_6_1

なお、保存した「SampleVBA.xlsm」を開いた際に、以下のようにセキュリティの警告画面が表示された場合は、「コンテンツの有効化」ボタンを押下する。
VBAの作成と実行_6_2

要点まとめ

  • Excel VBAを利用するには、開発タブを表示し、開発タブ内の「Visual Basic Editor」を利用してソースコードを編集する。また、編集したソースコードの実行は、開発タブ内の「マクロ」を利用する。
  • Excel VBAのファイルは、Excel マクロ有効ブックとして保存する。