1. ホーム
  2. コラム
  3. おしごと改革らぼ ちょこっとデータ変換/加工
  4. Excelのマクロとは? ~VBAとの違い、できることや作り方・使い方を紹介~

コラム|おしごと改革らぼ

おしごとを改善・改革するための役に立つ情報を提供します。

Excelのマクロとは? ~VBAとの違い、できることや作り方・使い方を紹介~

  • LINEで送る
  • このエントリーをはてなブックマークに追加
Excelのマクロとは?~できることや作り方・使い方を紹介~

多くの企業で、マイクロソフトのオフィスが業務に使用されています。なかでもExcel(エクセル)は、簡単に集計やグラフ化ができ、簡易的な分析が行える便利なアプリケーションです。毎月のレポート作成など、定型的な作業を毎回、手動で行っている場合は、マクロの機能を活用して自動化することで、業務の効率化が可能です。

本コラムでは、Excelのマクロでできること、作成方法、使い方、また、使う際に注意したいポイントなどをまとめてご紹介いたします。

Excelのマクロとは

マイクロソフトのオフィス(Office)には、複数の操作をまとめて自動化できる機能として「マクロ」が用意されています。Excel以外に、WordやPowerPointでもマクロの機能が使えます。

マクロは、VBA(Visual Basic(R) for Applications)というプログラミング言語で動作します。このため、マクロではなくVBAとよばれることもあります。VBAを使用せずに画面上の操作を記録して作成することも可能です。

Excelのマクロを活用することで、入力業務やドキュメント作成などを自動化することができます。

マクロとVBAとの違いは

ExcelのマクロはVBAと呼ばれることもあると書きましたが、正確にはマクロは機能であってVBAはExcelマクロを作成するのに使うプログラミング言語です。VBAの知識がなくてもマクロを使用することは可能ですが、VBAの知識があるとより複雑かつさまざまな業務の自動化を行えます。ただ、業務の効率化といった視点で考えると、マクロ機能だけで十分に効率化を行えるため、必ずしもVBAの知識を持っておく必要はありません。

▼Excel業務の自動化についてはこちらのコラムもおすすめ!
「Excel業務」を自動化する時のポイントは?

Excelのマクロにできること

Excelのマクロを活用すれば、Excelの機能にある内容なら組み合わせて自動的に実行することができます。
たとえば、書類作成やデータのチェック・修正、ファイルの統合・分割などが行えます。

    • 書類の作成…書類の作成、書類の印刷、Wordへの差し込み印刷
    • セルの編集…セルのコピー、ペースト、文字の大きさの変更など
    • データのチェック…データのチェック、データの修正、データの検索、データの置換
    • データの集計…データの集計、グラフの作成、作成したグラフや表をPowerPointへ挿入する
    • ファイルの統合・分割…ファイルの統合、ファイルの分割、フォルダの作成、フォルダ名の一覧の作成

Excelのマクロの作り方

では、上記のような作業を自動化して業務を効率化するために、具体的にはどうすればマクロを作成できるのでしょうか?

マクロの作成方法には、大きく、VBAを利用する方法と、マクロの記録を利用する方法の二つがあります。マクロの記録を利用すれば、VBAの知識がなくても簡単にマクロを作成することができますが、その分、作成可能なマクロの範囲は狭く、オブジェクトに対する操作の記録のみが可能で、関数の作成や条件分岐、ループ処理などができません。

ここでは、Excelのマクロの作り方を簡単にご紹介いたします。

VBAを使う方法

VBAを使ってマクロを作る際は、まず、開発タブを表示させます。

開発タブを表示する

Excelの初期設定では、開発タブは非表示なので、表示させましょう。

メニューバーの「ファイル」から「オプション」を選びます。
すると、「Excelのオプション」のダイアログボックスが表示されます。
「リボンのユーザー設定」の「メインタブ」から「開発」にチェックし、OKボタンを押してください。

開発タブ

これで、タブに「開発」が表示されるようになります。
※マクロの表示・記録のみでVBAを使用しない場合は、開発タブを表示しなくても表示タブの最右に表示される「マクロ」ボタンから利用できます。

「VBA」で「標準モジュール」を開く

次に、開発タブの最左に表示される「Visual Basic」ボタンを押して「VBA」を開きます。
※Alt+F11のショートカットキーでも開くことができます。

VBAのウインドウの左側は「プロジェクトウィンドウ」といいます。
プロジェクトウィンドウの「VBAProject(Book1)」を右クリックして、「挿入」「標準モジュール」の順に選択すると、ウインドウの右側に「標準モジュール」が挿入されます。

標準モジュール

マクロ名をつける

「標準モジュール」を挿入すると、左側のプロジェクトウィンドウのツリー構造に「標準モジュール」と、その下に「Module1」という表示が追加されます。

その下のウインドウの「(オブジェクト名)」という表示の右側のセルで名称を変更できます。
マクロ名には数字と「_(アンダースコア)」も使用できますが、最初の1文字だけは文字を入力する必要があります。

マクロを書く

挿入した「標準モジュール」にマクロを書きます。
SubからEnd Subの間に、VBAのルールに沿って指示内容を記載します。

マクロの記録を使う方法

実際の操作を記録してマクロを作成する方法もあります。
VBAの知識が不要で簡単に作成できますが、その分、操作の範囲や機能は狭まります。

マクロに名前をつける

開発タブの最右に表示される「マクロ」ボタンか、表示タブの最右に表示される「マクロ」ボタンから「マクロの記録」を押します。

マクロの記録

すると、「マクロの記録」ダイアログが表示されるので、マクロ名を入力します。
なお、マクロ名に使える文字は、VBAでのマクロ名と同様に、数字と「_(アンダースコア)」が使用でき、最初の1文字だけは文字のみが可能です。

マクロで自動化したい操作を行う

マクロ名を登録した後から、マクロの記録が始まります。
マクロの記録中は、Excelのウインドウの左下に「□」が表示されています。
これを確認した上で、マクロに記録したい操作を実行しましょう。

マクロに記録したい操作を実行

マクロの記録を終了する

記録したい操作が終わって、マクロの記録を終了したい場合は、Excelのウインドウの左下に表示された「□」を押します。

Excel のマクロの使い方

作成したマクロを実行する方法は、4つあります。

Excel上でマクロを実行する

Excelのワークシートを開いた状態からマクロを実行する方法です。
カーソルが左上の「A1」にある状態で、表示タブから「マクロ」を押し、さらに「マクロの表示」を押します。

マクロを実行する

すると、マクロのダイアログボックスが表示されるので、この中から、実行したいマクロを選択し、ダイアログボックス右上の「実行」ボタンを押します。

VBA上でマクロを実行する

Visual Basicを開いた状態から実行する方法です。
作成したマクロを試したい場合などは、VBA上でマクロを実行すると良いでしょう。

開発タブから「マクロ」を押し、さらに「Visual Basic」を押します。
表示されたプロジェクトウィンドウの「標準モジュール」から、実行したいマクロを選択し、「マクロの実行」ボタンを押します。
マクロの実行ボタンは、Visual Basicのメニューバーにある緑色の右向き三角のボタンです。

VBA上でマクロを実行

このボタンの代わりにF5キーを押しても実行できます。

ショートカットキーでマクロを実行する

あらかじめ、任意ショートカットキーを設定しておき、マクロを実行する方法です。

まずは、ショートカットキーを設定します。
カーソルが左上の「A1」にある状態で、表示タブから「マクロ」を押し、さらに「マクロの表示」を押します。

マクロのダイアログボックスが表示されるので、この中から、ショートカットキーを設定したいマクロを選択し、ダイアログボックス右下の「オプション」を押します。

すると、「マクロ オプション」のダイアログボックスが表示されるので、「ショートカットキー(K)」の空欄に任意のキーのアルファベットを入力します。ほかのショートカットキーと重複しないものを選びましょう。

ショートカットキーでマクロを実行

ショートカットキーの設定は、マクロの記録の際にも行えます。マクロの記録のダイアログボックスに表示された「ショートカットキー(K)」の空欄に任意のキーのアルファベットを入力してください。

ボタンを作成してマクロを実行する

マクロ実行用のボタンを作成することも可能です。
Excelのメニューバーの「挿入」から「図形」を選び、任意の形や大きさ、色の図形を作り、任意のテキストを入力します。

この図形の上で右クリックし、「マクロの登録」を選択します。すると、「マクロの登録」のダイアログボックスが表示されるので、ボタンに登録したいマクロを選び、「OK」ボタンを押します。
これでボタンが完成しました。
マクロを実行したい場合は、このボタンを押すと実行されます。

Excel のマクロを使う際の注意点

マクロを使う際は、以下の点にご注意ください。

マクロを記録する際は、手順やシートなどを確認しておく

VBAの知識がなくても簡単にマクロを作成できる、便利な「マクロの記録」機能ですが、作業手順を間違えてしまうと、やり直さなくてはなりません。スムーズに登録できるよう、あらかじめ作業手順を確認し、可能であれば、予行演習をしてから記録作業に入りましょう。
もし、作業を誤ってしまった場合は、セルの入力などであれば「元に戻す」ボタンで相殺されますが、たとえば、セルの選択など「元に戻す」ボタンでは戻せない作業もあります。
後で、マクロを編集することも可能ですが、VBAの知識がないと煩雑なため、間違えた場合は、一度マクロの記録を終了させ、最初からやり直した方が良いでしょう。

また、マクロを記録する際は、ファイル名やシート名、セルが記録時と実行時で同じものである必要があります。この点にも注意を払って記録を行いましょう。

保存の際のファイル形式は「.xlsm」

Excelファイルを保存する際、通常は「.xlsx」や「.xls」ですが、マクロを作成したExcelファイルは「.xlsm」となります。前者がExcelブックであるのに対し、後者はExcelマクロ有効ブックとなるためです。

また、Excelマクロ有効ブックを開く際は、メニューリボンの下に「マクロが無効にされました」というセキュリティの警告が表示されます。自身が作成したマクロ有効ブックなど、安全が確認できていれば「コンテンツの有効化】ボタンを押して使用します。

マクロの管理者を立てて管理を徹底する

マクロは、VBAによって作成できるほか、マクロの記録を使えば誰でも簡単に登録できるため、管理者を立てて一元管理しないと乱立してしまう恐れがあります。個人で使用するファイルで利用する分には問題がありませんが、たとえば、部署などで共有しているファイルにマクロを作成する場合、過去に似たようなマクロを作成していないかを確認してから作成する、使われなくなったマクロは精査して削除するといった管理が必要です。
マクロの作成・使用に関するルールを定め、守りながら利用することが大切です。

まとめ

マクロを活用すれば、ルーティン化している作業を効率化することができます。たとえ、定型的な作業であっても、量が多ければ、月間・年間ではかなりの時間を割いているものです。自動化できるところはマクロに任せて、残業を削減したり、空いた時間を人にしかできない企画業務などに当てることで生産性向上が期待できます。

ただし、Excelのマクロには、修正が発生した場合にVBAの知識がある人が修正するか、一から作り直さなければならないというデメリットがあります。VBAを扱うには、言語やマクロ設計思想から根本的に学ぶ必要があり、これを全従業員に身に付けさせることは現実的ではありません。結果的に、マクロの作成・修正業務が特定の従業員のみに偏って属人化してしまい、工程がブラックボックス化してしまうことがデメリットです。

マクロで行っていた"作業工程"をわかりやすく俯瞰でき、プログラム言語がわからない人にも容易にその作業工程が構築できたり修正できたりすることが望まれます。
この望みは、データの加工や変換をノンプログラミングで行える「データ加工ツール(データ変換サービス)」を活用することで実現可能です。データ加工ツールでは、Excelを元にして毎月作成する定型レポートのためのデータの抽出や、レポート作成の自動化などが行えます。

おしごと改革らぼで紹介している「ちょこっとデータ変換/加工」は、データ集計・データ変換に特化したデータ変換サービスです。よく使う移行データやレポートの作成をノンプログラミングで自動化でき、工程が可視化されるため、メンテナンスも誰にでも簡単に行えます。

詳しくは、「ちょこっとデータ変換/加工」ページをご覧ください。

お役立ち資料『Excel業務 課題解決のポイント』を
無料でダウンロード

資料イメージ

ちょっと難しい”おしごと”を解決するサービスを紹介するおしごと改革らぼのお役立ち資料『Excel業務 課題解決のポイント』を無料でダウンロードいただけます。
Excel業務での課題とその解決方法をご紹介。さらにExcel業務に役に立つサービスも機能から活用事例まで詳しくご紹介しています。

お役立ち資料を
ダウンロード

関連キーワード

  • LINEで送る
  • このエントリーをはてなブックマークに追加

サービス利用についての
相談など
お気軽に
お問い合わせください