トップページ > ソフトウェアの操作 > Excel でマクロを書くために必要な基本形とマクロの保存
Excel でマクロを書くために必要な基本形とマクロの保存
[初回公開] 2016年07月21日
Microsoft 社の Excel でマクロを開発するためには VBA によるプログラムが必要となり、VBA を記述する上で必ず守るべき基本形と VBA を記述したマクロ付きの Excel を保存する方法について紹介する。
Excel のマクロを記述に必要なもの
Excel にマクロを記述して保存するためにはモジュールと呼ばれる器を用意する必要があり、Excel のワークシートごとに表やグラフが用途別に利用するようにマクロも用途に応じてモジュールに実行させたい内容を記述する。
モジュールには「標準モジュール」と「クラスモジュール」の2通りあり、マクロを記述する前にまずはこのモジュールを Excel 内に用意する必要がある。
マクロを記述する入力欄を表示する
Excel にマクロの記述がない初期状態からマクロを追加するためにはまず Excel の上部メニューから「開発 -> Visual Basic」を選択して VBエディタ(Visual Basic Editor)を開き、VBE の上部メニューより「挿入 -> 標準モジュール」を選択する。
上部メニューに「開発」が無い場合は「ファイル -> オプション -> リボンのユーザ設定」よりタブ「開発」が上部メニューに表示されるように設定を行う。
VBE の画面で標準モジュールが作成されると、左部のプロジェクト欄のツリー階層の中に標準モジュールが追加される。
左部のプロジェクト欄のツリー階層の中にある標準モジュールのさらに下の階層には Module1 があり、その Module1 をダブルクリックすると画面の右部にマクロを記述する入力欄が表示され、以降はこの入力欄にマクロを記述していく。
マクロの基本形を記述する
Module1 で開いた入力欄には下記のマクロを記述する
Option Explicit Sub Sample_Macro() End Sub
一行目の Option Explicit はプログラム内で利用する変数名や型を必ず記述するとルール化(宣言)させるもので、ルール化することで宣言されていない変数名をプログラム内に書くと実行時にエラーとして処理を中断するため誤操作やバグ発見の効率化につながる。
尚、Option Explicit を省略することもでき、その際は宣言していない変数名があっても処理は実行される。
二行目の Sub 〇〇() はプロシージャと呼ばれるマクロの名称を示しており、このプロシージャの下に実行させたい処理を記述していく。
〇〇の箇所は任意で決めることができ、ここでは Sample_macro としている
ここで決めたプロシージャの文字列がマクロ実行時に表示するマクロの名称となり、実際に Excel でマクロを実行する場合は下図のように表示される。
最後に End Sub は Sub から始まる一連のプロシージャの内容が終了することを示している。
これら三行がマクロを記述するために必要な基本形となる。
この状態でマクロを実行できる状態にはあるば、プロシージャ内には具体的な処理内容をまだ記述していないため、マクロを実行しても何も変化が無い状態となる。
マクロを保存する
VBE でマクロを記述したのちに保存しようとしても通常の Excel の拡張子 xlsx はマクロを保存できる拡張子になっていないため、通常とは異なる拡張子でマクロ付きの Excel を保存する必要がある。
マクロ付きの Excel を保存するためには上部メニューより「ファイル -> 名前を付けて保存」よりファイル名を「Excel マクロ有効ブック(*.xlsm)」を選択して保存する。
関連記事
Windows に Python をインストールして実行する方法
プログラム
Python は AI やディープラーニングで利用されるプログラム言語で IT エンジニアの取得したいスキルの 1 つに挙げられており、まずは簡単な動作確認するために Python を Windows にインストールして実行する方法を紹介する。
内部結合(INNER JOIN)と外部結合(LEFT/RIGHT JOIN)の違い
プログラム
データベースの操作で結合(リレーション)と呼ばれる 1 回の参照で複数のテーブルの情報を合わせて表示する機能があり、結合方法として用意されている内部結合(INNER JOIN)と外部結合(OUTER JOIN)の使い方と違いについて解説する。
Mapbox の地図データをサイト内に埋め込む基本的な使い方
プログラム
ウェブサイトやブログに地図を埋め込む場合に無償または有償で提供されている地図サービスを利用できるが、いくつかある地図サービスの中から Mapbox の地図データをサイト内に埋め込む方法について紹介する。
Google Map API を使ってサイトに地図を埋め込む方法とキーの取得
プログラム
ウェブサイトやブログに地図を埋め込む際に無償または有償で公開されている地図サービスを利用することができるが、その中で Google Map をウェブサイトに埋め込む方法と利用にあたり必要なキーの取得について紹介する。
PHP で「Non-static method *** should not be called statically」が出る場合の対応方法
プログラム
PHP を利用しているとエラーログ等に「Non-static method *** should not be called statically」が表示されることがあり、このエラーが出る原因と対応方法について紹介する。