投稿者:公開日: 

(初心者向け)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

その他、ショートカットキーの一覧ページもご用意しております。

覚えると便利!224個のExcelショートカットキー一覧表(Win/Mac)

マクロを有効/無効にする方法

最初にExcelでマクロを有効にする方法をご紹介します。インストールしたばかりのExcelには「マクロの記録」ボタンが表示されていなので表示させます。

ファイルタブの選択

Excelで新規ファイルを開いたら画面左端にある【ファイル】タブを選択します。

オプションを選択

左ナビゲーションにある【オプション】を選択します。

リボンのユーザー設定から開発を選択

左ナビゲーションから【リボンのユーザー設定】を選択し、次にメインタブの中にある【開発】を選択してチェックを付けます。最後に【OK】ボタンを押下します。

開発タブの表示

ホーム画面に戻り、メインタブを確認すると「開発」タブが表示されました。

マクロを無効にするには上記の「リボンのユーザー設定」で「開発」のチェックを外し、【OK】ボタンを押すと開発タブが表示されなくなります。

マクロ記録の使い方

マクロ記録の使い方について作成方法から編集・削除までを説明していきます。

マクロの作成

マクロの記録

マクロの作成だけであれば「開発」タブではなく「表示」タブの右端にもマクロがあります。

【表示】タブを選択し、次に右端にある【マクロ】メニューを選択します。マクロに関するメニューが表示されるので【マクロの記録】を選択します。

マクロ名の入力

「マクロの記録」ダイアログが表示されたらマクロ名を入れます。先頭は必ず文字で始め、2文字目以降は文字、数字、アンダースコアー(_)が使用できます。ここでは例として『数字入力』と入力します。最後に【OK】ボタンを押下します。

マクロ名以外の項目は下記で説明します。

  • ショートカットキー:指定したショートカットキーを押すとマクロが実行します。
  • マクロの保存先:保存先のブックを選択できます。
  • 説明:マクロの内容を記載しておくとわかりやすいです。
記録中
マクロの記録中では左下に黒い■が表示されます。この黒い■アイコンが表示されているときに操作したマウスやキーボードの操作を記録しています。
数値の入力

A1セルを選択して『1』を入力、A2セルを選択して『2』を入力、のように10までの連番を入力します。

次に左下に表示されている【黒い■アイコン】を押下してマクロの記録を終了させます。

記録した情報

1〜10までをセルに入力するという作業が記録されました。

マクロの実行

マクロを実行させるのに以下の4つの方法があります。それぞれについて詳しくみていきましょう。

  • Excel上で実行する方法
  • VBA上で実行する方法
  • ショートカットキーで実行する方法
  • ボタンを作成して実行する方法

Excel上で実行する方法

マクロの実行

空のワークシートを用意し、まずA1セルを選択します。

【表示】タブを選択し、次に右端にある【マクロ】メニューを選択します。マクロに関するメニューが表示されるので【マクロの表示】を選択します。

マクロの実行

「マクロ」ダイアログボックスが開いたら実行したいマクロを選択し、【実行】ボタンを押下します。今回は「数字入力」マクロを選択します。

マクロの実行結果

マクロを実行することで一瞬のうちに1〜10までの数字がセルに入力されました。これがマクロ記録でできることになります。組み合わせ次第では皆さんの作業がより早くなりますのでお試しください。

VBA上で実行する方法

Visual Basicを起動

【開発】タブを選択し、【Visual Basic】を選択します。

コードの表示

左ナビゲーションから【標準モジュール】のフォルダーを選択します。「標準モジュール」フォルダー内にある【Module2】をダブルクリックします。

※今回、見本では「Module2」ですが、追加したマクロの状況によっては異なる可能性があります。

コード上で見分ける手段としてはVBAのコードに「Sub 数字入力()」のように「Sub」で始まる文がありますがその一文に含まれている「数字入力」がマクロ記録でマクロの名前として指定した値になります。moduleを開いて確認してみてください。

画面右側にマクロを記録したVBAがコードとして書かれています。VBA上で実行するには「書式」メニュー下の【再生ボタン】を押下するとマクロが実行されます。

ショートカットキーで実行する方法

マクロの実行

空のワークシートを用意し、まずA1セルを選択します。

【表示】タブを選択し、【マクロ】メニューから【マクロの表示】を選択します。

オプションの選択

「マクロ」ダイアログボックスが表示されるので実行したいマクロを選択し、【オプション】を押下します。今回は【数字入力】を選択します。

ショートカットキーの設定

ショートカットキーにアルファベットを入力します。他のショートカットキーで使われていないアルファベットにしておいたほうがよろしいです。ここの例では『M』を入力し、【OK】ボタンを押下します。

マクロダイアログボックスをキャンセル

「マクロ」ダイアログボックスが表示されたら【キャンセル】ボタンを押してダイアログボックスを閉じます。

設定したショートカットキーCtrl+Shift+Mを押すと「数字入力」マクロが実行されます。

ボタンを作成して実行する方法

ボタンを挿入

【開発】タブを押し、続いて【挿入】を押し、フォームコントロールの中から【ボタン(フォームコントロール)】を選択します。

マクロ名の入力

マウスをドラッグし、ボタンを作成すると「マクロの登録」ダイアログボックスが表示されるので、適用したいマクロを選択します。

ここでは【数字入力】マクロを選択し、【OK】ボタンを押下します。

ボタンの設置

これでこのボタンに記録した「数字入力」マクロが割り当てられました。A1セルを選択し、【ボタン1】を押下します。

ボタンによるマクロの実行

【ボタン1】を押下すると「数字入力」マクロで記録した1から10までの数字入力が実行されました。

ボタンテキストの編集

見本では「ボタン1」というテキストですが、自分で指定したテキストにしてみましょう。

ボタン内のテキストを変更するにはボタン上で右クリックし、右クリックメニューから【テキストの編集】を選択します。

ボタンテキストの編集完了

ボタンのテキストを変更することができました。

マクロの編集

マクロの実行

作成したマクロを編集したい場合、まず【表示】タブを選択し、【マクロ】メニューから【マクロの表示】を選択します。

マクロの編集

「マクロ」ダイアログボックスが表示されるので編集したいマクロを選択し、【編集】ボタンを押下します。

編集ボタンを押すとVBAのコードを編集できる画面が起動します。マクロの作成では「マクロ記録」を使って簡単に設定することができましたが作成したマクロについてはVBAを編集する必要があります。

今回は「マクロ記録」を中心に説明しましたので次回以降VBAの書き方などをご紹介できればと思います。

マクロのコピー

マクロ有効ブックの用意

作成したマクロを別のブックにコピーする方法をご紹介します。まずマクロが入った2つのExcelファイルを用意します。例では「Book1.xlsm」と「Book2.xlsm」になります。

Visual Basicを起動

2ファイルのうちどちらか一方のファイルで【開発】タブを選択し、【Visual Basic】を選択します。

VBEの軌道

Visual Basic エディターが起動します。「標準モジュール」フォルダーが開いていなければ選択します。今回は「Book1.xlsm」の「Module1」を「Book2.xlsm」にコピーします。

モジュールのドラッグ

「Book1.xlsm」の「Module1」をドラッグして「Book2.xlsm」の「標準モジュール」フォルダーに移動します。これで「Book1.xlsm」のマクロが「Book2.xlsm」にコピーされました。

※モジュール名が「Module1」で同じだったため、コピー先では「Module11」というように自動的に名前が変換されています。

別のブックへのマクロのコピー

「Book2.xlsm」で「マクロ」ダイアログボックスを開くと「Module11」がマクロに追加されていることが確認できます。

マクロの保存

ファイルタブの選択

作成したマクロを保存します。まず【ファイル】タブを選択します。

名前を付けて保存

左にあるナビゲーションから【名前を付けて保存】を選択します。

保存場所

保存したい場所を選択し、【その他のオプション】リンクを押します。

マクロ有効ブック

「ファイルの種類」で【Excelマクロ有効ブック】を選択し、ファイルを保存します。

マクロの削除

マクロの実行

【表示】タブを選択し、次に右端にある【マクロ】メニューを選択します。マクロに関するメニューが表示されるので【マクロの表示】を選択します。

マクロの削除

「マクロ」ダイアログボックスを開いて【削除】ボタンを押下します。これで作成したマクロを削除することができます。

マクロのファイルを開く際の注意点

コンテンツの有効化をクリック

マクロが入ったExcelファイルを開くと「マクロが無効にされました」という警告が表示されます。もし問題ないファイルであるならば【コンテンツの有効化】ボタンを押下します。

セキュリティーセンターの設定

「マクロが無効にされました」という警告が毎回出ないようにするためには、「ファイル」タブを選択した状態で【オプション】を選択します。

左ナビゲーションから【セキュリティセンター】を選択します。次に【セキュリティセンターの設定】を選択します。

マクロの変更

左ナビゲーションから【マクロの設定】を選択します。好きな設定を選択することができます。