- 公開日:
- 更新日:
Excelマクロの使い方入門(初心者向け)!作成〜保存方法まで
マクロは、エクセル参考書の最終章にたいてい出てくる項目です。
「四則演算や関数、グラフやピボットテーブルは覚えたんだけど、なんとなくマクロは難しそう。」「使えると便利なのはわかるけど、何ができるのかわからない。」「私にもできるのかなあ。」と、様々な声が聞こえてきそうです。
そんなマクロをあまり触れてこなかった方達のために、マクロの入門として用語説明や使い方などをご説明いたします。
Excelを使った日付選択のマクロを無料でダウンロード!
Excelでカレンダーから日付を入力できるマクロを無料でダウンロードできます。コードを変更すれば、カレンダーの背景色や、今日の日付の色を変更したりとカスタマイズすることも可能です。
マクロとは
マクロとは、 複雑なコンピュータの操作を自動化する技術の総称であり、ほとんどのOffice製品に標準搭載されています。中でもExcelでの利用方法としては、複数の手順を記録し、ボタン1つで実行することによって、作業の効率を上げることが可能です。
※マクロを記録するときは、すべての手順がVBAで記録されます
マクロの機能としては上記にもあげたマクロの記録や、他にもVBAを編集/実行するための機能であったり、マクロのセキュリティに関する機能も持ち合わせております。
マクロとVBAの違い
VBAとは、マイクロソフト社が提供しているVisual Basic for Applicationsの略称であり、Office製品でマクロを開発するためのプログラミング言語のことを言います。
※VBAの起源はBasic言語となっております
上記に記載した通り、マクロはVBAで作成したプログラムのことを指しているので、マクロとVBAはイコールではありません。複雑なエクセルの操作を自動化するための機能をマクロといい、それを実現させる言語をVBAと覚えておきましょう。
マクロ記録でできること
マクロ記録はVBAのようにコードを書かなくてもボタンを押すだけで簡単にマクロが実現できるExcelの機能です。プログラミングの知識を持っていない方でも自分の業務や作業を自動化して効率化することができます。
「マクロの記録」ボタンを押してから操作した内容がVBAのコードとして記録され、その記録した操作を自動的に再現するといった機能になっています。
ここまで「マクロ記録」のメリットをお伝えしてきましたが、操作が簡単な分できる範囲はVBAより狭くなってしまいます。VBAでは条件分岐やループ処理ができたり、関数を作ることができる一方、マクロ記録ではオブジェクトに対する操作だけが可能です。
普段行っている作業でセルやワークシートなどのオブジェクトを操作する作業があればマクロ記録で自動化するのがおすすめです。
セルに関する繰り返し作業
セルに関する操作を記録して再現することができます。具体的には下記のようなマウス・キーボードで行う繰り返すような作業であれば記録が可能です。
- 値の取得・設定
- 文字のサイズ・フォント、色
- セルの背景色・罫線
- 表示形式の書式設定
ワークシートに関する繰り返し作業
セルだけでなくワークシートの操作も記録することができます。具体的には下記のようなマウス・キーボードで行う繰り返すような作業であれば記録が可能です。
- シートの新規作成、名前の変更
- 文字の検索と置換
- セルのコピーと貼り付け
- 画像挿入
- グラフの操作
ブックに関する繰り返し作業
ブック全体の操作も記録することができます。具体的には下記のようなマウス・キーボードで行う繰り返すような作業であれば記録が可能です。
- 新規作成
- 名前を付けて保存
- 上書き保存
- 閉じる
マクロに関するショートカットキー
Windows | Mac |
---|---|
マクロシートを挿入します | |
Ctrl+F11 | ⌘+F11 |
[マクロ]ダイアログボックスを表示します | |
Alt+F8 | option+F8 |
Microsoft Visual Basic for Applications(VBA)エディターが開きます。 | |
Alt+F11 | option+F11 |
その他、ショートカットキーの一覧ページもご用意しております。
開発タブを表示する方法
マクロを利用するには、開発タブが必要となります。現在表示されていない方は、以下の記事をご確認ください。
マクロを有効/無効にする方法
既存の設定ではマクロが含まれているファイルを開くと警告メッセージが表示されます。以下の記事ではマクロを有効にする3つの設定方法をご紹介します。
マクロ記録の使い方
マクロ記録の使い方について作成方法から編集・削除までを説明していきます。
マクロの作成
マクロの作成だけであれば「開発」タブではなく「表示」タブの右端にもマクロがあります。
【表示】タブを選択し、次に右端にある【マクロ】メニューを選択します。マクロに関するメニューが表示されるので【マクロの記録】を選択します。
「マクロの記録」ダイアログが表示されたらマクロ名を入れます。先頭は必ず文字で始め、2文字目以降は文字、数字、アンダースコアー(_)が使用できます。ここでは例として『数字入力』と入力します。最後に【OK】ボタンを押下します。
マクロ名以外の項目は下記で説明します。
- ショートカットキー:指定したショートカットキーを押すとマクロが実行します。
- マクロの保存先:保存先のブックを選択できます。
- 説明:マクロの内容を記載しておくとわかりやすいです。
マクロの記録中では左下に黒い■が表示されます。この黒い■アイコンが表示されているときに操作したマウスやキーボードの操作を記録しています。
次に左下に表示されている【黒い■アイコン】を押下してマクロの記録を終了させます。
1〜10までをセルに入力するという作業が記録されました。
マクロの実行
マクロを実行させるのに以下の4つの方法があります。それぞれについて詳しくみていきましょう。
- Excel上で実行する方法
- VBA上で実行する方法
- ショートカットキーで実行する方法
- ボタンを作成して実行する方法
Excel上で実行する方法
空のワークシートを用意し、まずA1セルを選択します。
【表示】タブを選択し、次に右端にある【マクロ】メニューを選択します。マクロに関するメニューが表示されるので【マクロの表示】を選択します。
「マクロ」ダイアログボックスが開いたら実行したいマクロを選択し、【実行】ボタンを押下します。今回は「数字入力」マクロを選択します。
マクロを実行することで一瞬のうちに1〜10までの数字がセルに入力されました。これがマクロ記録でできることになります。組み合わせ次第では皆さんの作業がより早くなりますのでお試しください。
VBA上で実行する方法
【開発】タブを選択し、【Visual Basic】を選択します。
左ナビゲーションから【標準モジュール】のフォルダーを選択します。「標準モジュール」フォルダー内にある【Module2】をダブルクリックします。
※今回、見本では「Module2」ですが、追加したマクロの状況によっては異なる可能性があります。
コード上で見分ける手段としてはVBAのコードに「Sub 数字入力()」のように「Sub」で始まる文がありますがその一文に含まれている「数字入力」がマクロ記録でマクロの名前として指定した値になります。moduleを開いて確認してみてください。
画面右側にマクロを記録したVBAがコードとして書かれています。VBA上で実行するには「書式」メニュー下の【再生ボタン】を押下するとマクロが実行されます。
ショートカットキーで実行する方法
空のワークシートを用意し、まずA1セルを選択します。
【表示】タブを選択し、【マクロ】メニューから【マクロの表示】を選択します。
「マクロ」ダイアログボックスが表示されるので実行したいマクロを選択し、【オプション】を押下します。今回は【数字入力】を選択します。
ショートカットキーにアルファベットを入力します。他のショートカットキーで使われていないアルファベットにしておいたほうがよろしいです。ここの例では『M』を入力し、【OK】ボタンを押下します。
「マクロ」ダイアログボックスが表示されたら【キャンセル】ボタンを押してダイアログボックスを閉じます。
設定したショートカットキーCtrl+Shift+Mを押すと「数字入力」マクロが実行されます。
ボタンを作成して実行する方法
Excelのマクロをボタンに追加すれば記録させた複数の操作もボタンを1クリックで自動的に実行することができます。
以下の記事ではマクロボタンを作成して実行する方法をご紹介します。他にも編集したり、削除する方法も説明しております。
マクロの編集
作成したマクロを編集したい場合、まず【表示】タブを選択し、【マクロ】メニューから【マクロの表示】を選択します。
「マクロ」ダイアログボックスが表示されるので編集したいマクロを選択し、【編集】ボタンを押下します。
編集ボタンを押すとVBAのコードを編集できる画面が起動します。マクロの作成では「マクロ記録」を使って簡単に設定することができましたが作成したマクロについてはVBAを編集する必要があります。
今回は「マクロ記録」を中心に説明しましたので次回以降VBAの書き方などをご紹介できればと思います。
マクロのコピー
作成したマクロを別のブックにコピーする方法をご紹介します。まずマクロが入った2つのExcelファイルを用意します。例では「Book1.xlsm」と「Book2.xlsm」になります。
2ファイルのうちどちらか一方のファイルで【開発】タブを選択し、【Visual Basic】を選択します。
Visual Basic エディターが起動します。「標準モジュール」フォルダーが開いていなければ選択します。今回は「Book1.xlsm」の「Module1」を「Book2.xlsm」にコピーします。
「Book1.xlsm」の「Module1」をドラッグして「Book2.xlsm」の「標準モジュール」フォルダーに移動します。これで「Book1.xlsm」のマクロが「Book2.xlsm」にコピーされました。
※モジュール名が「Module1」で同じだったため、コピー先では「Module11」というように自動的に名前が変換されています。
「Book2.xlsm」で「マクロ」ダイアログボックスを開くと「Module11」がマクロに追加されていることが確認できます。
マクロの保存
作成したマクロを保存します。まず【ファイル】タブを選択します。
左にあるナビゲーションから【名前を付けて保存】を選択します。
保存したい場所を選択し、【その他のオプション】リンクを押します。
「ファイルの種類」で【Excelマクロ有効ブック】を選択し、ファイルを保存します。
マクロの削除
【表示】タブを選択し、次に右端にある【マクロ】メニューを選択します。マクロに関するメニューが表示されるので【マクロの表示】を選択します。
「マクロ」ダイアログボックスを開いて【削除】ボタンを押下します。これで作成したマクロを削除することができます。
マクロのファイルを開く際の注意点
マクロが入ったExcelファイルを開くと「マクロが無効にされました」という警告が表示されます。もし問題ないファイルであるならば【コンテンツの有効化】ボタンを押下します。
「マクロが無効にされました」という警告が毎回出ないようにするためには、「ファイル」タブを選択した状態で【オプション】を選択します。
左ナビゲーションから【セキュリティセンター】を選択します。次に【セキュリティセンターの設定】を選択します。
左ナビゲーションから【マクロの設定】を選択します。好きな設定を選択することができます。