マクロをプログラミングする方法~基礎編~
マクロを作成することができるプログラミング言語
マクロとはExcelに使用されExcelの機能を拡張できるものです。
マクロはVBAというプログラミング言語で作成されます。
プログラミング言語はJavaやC言語など様々なものがありますがここではマクロを作成できるVBAというプログラミング言語を紹介します。
VBAとは?
VBAとはマクロを作成できるプログラミング言語です。
「VBA」とはマイクロソフトのプログラミング言語「Visual Basic for Applications」を略したものです。
「VBA」はMicrosoft Officeに搭載されており、Office製品でマクロを開発するためのプログラミング言語です。
VBAの開発環境
Javaなどのプログラミング言語には様々な統合開発環境があります。
「VBA」の開発環境は「VBE(Visual Basic Editor)」と呼ばれるものです。
「VBE」とはExcelに搭載されたVBA用のエディターです。
現在PCには様々なOffice製品がインストールされています。
他のプログラミング言語では統合開発環境などをインストールする必要がありますが、VBAでプログラミングを行いたい場合Excelなどがあればプログラミングを行うことが出来ます。
VBAでマクロをプログラミングするための基礎知識
VBE(Visual Basic Editor)の起動方法
VBAでマクロをプログラミングするには「VBE」を起動する必要があり起動方法は2つあります。
1つ目の起動方法
Excelの「ファイル」→「オプション」→「Excel のオプション」の順にクリックしオプション画面を開きます。
その後、「リボンのユーザー設定」をクリックするとメインタブが開くためその中にある「開発」にチェックを入れます。
そうすると、Excelファイル内に「開発」タブが出てくるのでクリックし、「Visual Basic」ボタンをクリックします。
この方法で起動することができます。
2つ目の起動方法
「VBE」を起動するショートカットキーがあります。
Windowsでは「Alt」+「F11」でMicrosoft Visual Basic for Applications(VBA)エディターを起動することができます。
Macでは「option」+「F11」でMicrosoft Visual Basic for Applications(VBA)エディターを起動することができます。
VBAを記述する場所
まず標準モジュールを作成する必要があります。
新規モジュールはメニューの「挿入」→「標準モジュール」または、プロジェクト内を右クリックし「挿入」→「標準モジュール」で作成することが出来ます。
作成後、右部分に白地が出てくるためそこがマクロを記述する部分となります。
モジュールの名称を変更したい場合は表示タブ→プロパティウインドウをクリックします。
クリックすると左下にオブジェクト名とモジュール名が出てくるためモジュール名を変更するとモジュールの名称を変更することができます。
削除する場合はモジュールを右クリックし「Module1の解放」をクリックします。
クリック後、「削除する前にモジュール名をエクスポートしますか?」と表示されるため、「いいえ」を選択します。
選択すると削除することができます。
VBEのオプション設定
マクロをプログラミングする前に設定するべきオプションがあります。
VBEの「ツール」→「オプション」でオプション画面を開きます。
オプションの編集タブ内にあるコードの設定の「自動構文チェック」にチェックがついていれば外します。
また、「変数の宣言を強制する」にチェックがついていなければチェックしてください。
新規モジュールを作成し「Option Explicit」が記述されていれば設定完了です。
マクロの処理内容を記述する方法
処理内容を記述するには「Option Explicit」の下にSubを記述します。
Sub マクロ名()
処理内容
End Sub
Sub マクロ名を入力すると下にEnd Subが追加されます。
SubとEndSubの間に処理内容を記述します。
マクロ名はVBAではプロシージャー名と呼ばれています。
VBAではマクロをプロシージャーと言います。
プロシージャー名にはいくつか制限があります。
・英数字(全角半角)、漢字、記号はアンダーバー(_)だけ使える、空白(スペース)は使用出来ない
・先頭には、数字やアンダーバー(_)は使用出来ず、英文字か漢字で始める
・使えない予約語(VBAが特別に使っている単語)は記述できない
・長さは半角で255文字まで使用出来る
・一つの標準モジュール内では、同じ名前は付けられない
上記なような制限があるため注意が必要です。
制限はありますが同じ標準モジュール内に複数のプロシージャーを記述することができます。
サンプルコード
Sub サンプル()
Range("A1") = "こんにちは"
End Sub
このコードはセルのA1に「こんにちは」と表示させるサンプルという名前のプロシージャー(マクロ)です。
Rangeはセルを指定するものであり、サンプルコードの場合はA1を指定しています。
作成したマクロを実行する方法
作成したマクロをテストまたは実行するにはSubからEnd Subの間のどこかに入力カーソル(縦棒カーソル)がある状態でF5を押すと実行できます。
またはVBEを閉じて、ワークシートを表示し、「開発」→「マクロ」をクリックするとマクロの一覧が出てくるため、実行したいマクロをクリックし右側の実行をクリックします。
この2つの方法でマクロを実行することができます。
まとめ
マクロをプログラミングするための基礎知識について説明しました。
マクロはExcelの機能を拡張したりと便利なものとなっています。