独学MOS

マクロの利用

マクロとは

マクロとはユーザーの操作をVBA(Visual Basic for Applications)というプログラミング言語で記録し、記録したプログラムを実行することでユーザーが行った操作を再現する機能です。何度も行う操作を記録しておくことで業務の効率化が図れます。マクロの記録を行う場合、記録中に行った操作はすべて記録されるという点に注意しなくてはなりません。カーソルの移動やワークシートの切り替えもマクロの記録対象になりますので、事前に記録したい操作を確認しておくことをお勧めします。

マクロの記録

例として以下のような表があったとします。(「受注日」がセル「A1」にあるものとします)

受注日 顧客名 商品名 単価 数量 受注金額
2012/1/1 山田一郎 ミカン 100 10 1000
2012/1/5 山田三郎 ブドウ 120 1 120
2012/1/12 山田二郎 ミカン 100 90 9000
2012/1/20 山田二郎 リンゴ 150 50 7500
2012/2/1 山田一郎 リンゴ 150 5 750
2012/3/1 山田一郎 ブドウ 120 8 960
2012/3/3 山田三郎 ミカン 100 10 1000
2012/3/15 山田二郎 メロン 200 10 2000
2012/4/1 山田一郎 バナナ 90 9 810
2012/4/2 山田三郎 バナナ 90 80 7200
2012/4/4 山田二郎 バナナ 90 1 90
2012/5/1 山田一郎 メロン 200 3 600
2012/5/6 山田三郎 バナナ 90 100 9000
2012/5/10 山田三郎 メロン 200 1 200
2012/5/28 山田二郎 リンゴ 150 100 15000

この表を受注日の降順でソートするマクロを記録するには以下の手順を行います。

  1. 「開発」タブをクリック
  2. コードグループの「マクロの記録」をクリック
  3. マクロの記録ダイアログで「OK」ボタンをクリック
  4. 「データ」タブをクリック
  5. 並び替えとフィルターグループの「並び替え」をクリック
  6. 並び替えダイアログで「受注日」を「降順」で並び替えるように設定して「OK」ボタンをクリック
  7. 「開発」タブをクリック
  8. コードグループの「記録終了」をクリック

これで表を受注日の降順でソートするマクロが記録されました。記録が終了したら表を受注日の昇順でソートしておいてください。

マクロの実行

記録したマクロを実行するには以下の手順を行います。

  1. 「開発」タブをクリック
  2. コードグループの「マクロ」をクリック
  3. マクロダイアログで実行するマクロを選択して「実行」をクリック
  4. マクロが実行される

このほかの基本的な実行方法としてショートカットキーを利用する方法もあります。マクロを作成する際にマクロの記録ダイアログで小文字のアルファベットのショートカットキーを設定していた場合は「Ctrl」を押しながら設定したキーを押すことでマクロが実行されます。大文字のアルファベットでショートカットキーを設定した場合は「Ctrl」+「Shift」を押しながら設定したキーを押すことでマクロを実行します。

マクロの保存

通常のブックとして保存した場合、マクロは保存されません。そのためマクロ有効ブックとしてブックを保存する必要があります。マクロ有効ブックとしてブックを保存するには以下の手順を行います。

  1. 「ファイル」タブをクリック
  2. 「名前を付けて保存」をクリック
  3. 名前を付けて保存ダイアログでファイルの種類に「Excelマクロ有効ブック」を選択して「保存」ボタンをクリック

ボタンからマクロを実行する

マクロの実行方法の応用として、ワークシート上にボタンを作成して、ボタンがクリックされたらマクロが実行されるようにする方法があります。ボタンにマクロを登録するには以下の手順を行います。

  1. 「開発」タブをクリック
  2. コントロールグループの「挿入」をクリック
  3. フォームコントロールの「ボタン」をクリック
  4. ボタンを作成したい場所をドラッグしてマクロの登録ダイアログを表示
  5. マクロの登録ダイアログでボタンに登録したいマクロを選択して「OK」ボタンをクリック
  6. マクロを実行するためのボタンが作成される

ボタンが作成された直後はボタンが選択された状態になっていますので、適当なところをクリックして選択を解除してください。選択が解除された状態でボタンをクリックすると登録されたマクロが実行されます。再びボタンを選択状態にしたい場合は「Ctrl」を押しながらボタンをクリックするとボタンを選択することができます。

クイックアクセスツールバーからマクロを実行する

マクロの実行方法のもう一つの応用としてクイックアクセスツールバーにボタンを作成して、ボタンがクリックされたらマクロが実行されるようにする方法があります。クイックアクセスツールバーにマクロボタンを登録するには以下の手順を行います。

  1. 「クイックアクセスツールバーのユーザー設定」をクリック
  2. 「その他コマンド」をクリック
  3. Excelのオプションダイアログでコマンド選択に「マクロ」を選択し、表示された一覧の登録したいマクロを選択して「追加」ボタンをクリック
  4. 「OK」ボタンをクリック
  5. クイックアクセスツールバーにマクロ実行用のボタンが表示される

クイックアクセスツールバーに登録されたボタンをクリックするとマクロが実行されます。追加されたボタンを削除したい場合はExcelのオプションダイアログから追加したボタンを選択して「削除」ボタンをクリックすれば削除することができます。

ブックを開いたとき、あるいは閉じたときにマクロを実行する

ブックを開いたときに自動的にマクロを実行したい場合は、名前を「Auto_Open」にしてマクロを作成します。また、ブックを閉じたときに自動的にマクロを実行したい場合は、名前を「Auto_Close」にしてマクロを作成します。

マクロの編集

記録されているマクロを編集したい場合は以下の手順を行います。

  1. 「開発」タブをクリック
  2. コードグループの「マクロ」をクリック
  3. マクロダイアログで編集したいマクロを選択して「編集」ボタンをクリック
  4. マクロの編集画面が表示される

表示された編集画面でVBAの編集を行います。マクロの編集にはプログラミングの知識が必要になります。