トップページ > ソフトウェアの操作 > Excel でマクロのプログラムを書いて作成方法と実行する方法
Excel でマクロのプログラムを書いて作成方法と実行する方法
[初回公開] 2010年03月08日
Excel にはマクロと呼ばれる自動的に処理を行う機能があり、同じ操作を繰り返す場合はマクロを利用することで数秒で終わらして作業効率を図ることができるため、そのマクロのプログラムして作成する方法と実行する方法について紹介する。
このページの目次
1. マクロとは
マクロとは作業を自動化する機能のことで、Excel など Microsoft 社の各ソフトウェアに搭載されている。
マクロを利用することでマウスやキーボードを使った一連の手作業をボタンをクリックするだけで行うことができ、例えば入力したデータを集計してグラフ化した後に印刷や PDF に出力する流れを瞬時に終えられる。
Excel で行える操作はほぼマクロで実行することができ、マクロ用にプログラムを行えばマウス操作ではできない情報収集やデータの加工などさらに用途を広げることが可能である。
筆者においてはサーバやネットワーク機器のリソースの使用率を Excel にコピー&ペーストすることで日ごとにグラフ化し、ログイン中のユーザ名を取得して表紙に作成者として記名するマクロをよく利用している。
さらに報告書として提出できるように A4 サイズに体裁を整えて PDF 化するところまでマクロで行わせているので、手作業で数時間かけて作成していた頃に比べると数秒で終わり、入力ミスが無いため精度の高い資料作成を行える状態でありマクロは非常に便利である。
2. マクロの作成方法
Excel でマクロする方法には 2 通りあり、実際にマウスやキーボードの操作を記録させる方法と、操作や処理をプログラムで書く方法である。
2-1. 操作をマクロに記録する
マウスやキーボードの操作をマクロに記録させるためには、Excel の上部メニューより「表示 -> マクロ」を選択し、表示される項目から「マクロの記録」をクリックする。
次にウィンドウ「マクロの記録」が表示されるため、マクロ名は任意の名称を入力してボタン「OK」を押す。
ボタン「OK」を押すとウィンドウ「マクロの記録」は閉じ、閉じた後のマウス及びキーボードの操作は全てマクロに記録されるので自動化したい操作を行う。
マクロ記録中は特に画面上に表示されないが、記録を終了させる場合は Excel の上部メニューより「表示 -> マクロ -> 記録終了」を選択するとマクロの記録が終了する。
2-2. プログラムでマクロを作成する
Excel のマクロをプログラムで作成する場合はプログラムを入力する画面(エディタ)を表示させる必要があるが、Excel の初期状態では上部メニューに無いため、まずはエディタを開くアイコンを上部メニューに配置する。
下図は Excel の初期状態の上部メニューで、「ホーム」や「挿入」など 7 つほどのタブが表示されている。
マクロの開発機能を表示するために上部メニューより「ファイル -> オプション」を選択して下図のウィンドウ「Excel にオプション」を表示させる。
次に左メニュー欄にある「リボンのユーザー設定」をクリックする。
「リボンのユーザー設定」をクリックすると右部にリボン(上部メニュー)に表示するものを選択する設定画面が表示されるので、右列にある「開発」にチェックを入れ、ボタン「OK」をクリックして設定ウィンドウを閉じる。
リボンの設定が完了すると Excel のワークシートに戻り、上部メニューにタブ「開発」が追加表示されているのが確認できる。
タブ「開発」をクリックする各種開発に関わるアイコンが表示され、「Visual Basic」を選択するとマクロをプログラムする画面が表される。
マクロのプログラムを行う場合は数の右にある空白のウィンドウに記述する。
Office 製品のマクロは VBA(Visual Basic for Applications)と呼ばれるプログラム言語で開発し、その VBA プログラムを記述するエディタのことを VBE (Visual Basic Editor) と呼ばれている。
VBE は VBA をプログラムする他に文字を入力するテキストボックスや計算結果を表示するラベルなどフォーム画面の作成も行うことができる。
2-3. マクロ付き Excel の保存方法
マクロの記録や VBE で作成したマクロは、通常の Excel を保存する時と同じくに「名前を付けて保存」で保存することができるが、通常の Excel(Excel ブック)の拡張子「.xlsx」はマクロ付きに対応していないため、マクロ付きに対応するために拡張子「.xlsm」の Excel(Excel マクロ有効ブック)で保存する。
3. マクロを実行する方法
Excel で作成したマクロは上部メニューの「表示 -> マクロ -> マクロの表示」を選択することでウィンドウ「マクロ」が表示され、保存中のマクロが一覧表示される。
ウィンドウ「マクロ」の一覧から実行したいマクロを選択し、ウィンドウの右にあるボタン「実行」をクリックすることでマクロが実行される。
4. マクロを編集する方法
作成したマクロを編集する場合は、上部メニューの「表示 -> マクロ -> マクロの表示」でウィンドウ「マクロ」を表示し、そのウィンドウに表示されるマクロを選択した状態でボタン「編集」をクリックする。
ボタン「編集」をクリックすると下図のように VBE が表示されるので、プログラムによる編集を行う。
下図は「マクロの記録」で作成したものだが、「マクロの記録」も最終的には VBA で保存されるため編集も VBA にのみの対応となり、プログラムが難しい場合は改めて「マクロの記録」を新規作成してマウスやキーボード操作で作り直す必要がある。
5. マクロと VBA の違い
マクロと VBA の違いは、マクロは自動的に操作や処理を行う機能のことで、VBA はマクロの動きを指示するプロググラム言語のことを指し、厳密には両者は異なるものである。
マクロは前述の通り「マクロの記録」でも作成することができ、VBA の知識が無くてもマクロを取り扱うことが可能である。
関連記事
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」が表示されることがあり、このエラーが出る原因と対応方法について紹介する。