いまさら聞けないIT用語:「マクロ」とは? VBAとの違い、できること、Excelマクロの初歩など基本を解説

INDEX

『マクロの導入で、1時間以上かかっていた作業が数分・ワンクリックで終わるようになった』

業務効率化のリサーチをしているとこのような事例をときおり目にします。本当ならばマクロは非常に便利だな……と思いつつ、それ以上調べられていないという方も多いのではないでしょうか。

そこで今回の記事では、「マクロとはいったいどのような機能なのか? 」「マクロを習得するとどんなメリットが得られるのか?」といった疑問を解決し、マクロを始める第一歩となる知識をご紹介します。ぜひ最後までお付き合いください。

マクロは“複数の操作をまとめて呼び出す”機能

アプリケーションソフトにおけるマクロは「複数の操作をまとめて必要に応じて呼び出せるようにする機能」を指します。特にExcelの自動化で使われる例が多く、データ集計や分類、シートの印刷などさまざまな作業を自動で行わせることができます。

ほかにもMicrosoft製品(2020年4月21日より「Office 365」→「Microsoft 365」に改名)のWord、PowerPoint、AccessやAdobe製品のIllustrator、Photoshopなどマクロ機能(Adobe製品の場合は「アクション」と呼ばれる)を持つ製品は多数存在します。Officeにおいてマクロの操作内容を記録するためのプログラミング言語をVBA(Visual Basic for Applications)といい、VBAを使いこなせるほどマクロでより幅広い業務を自動化できるようになります。

マクロは便利な機能、VBAはそれを実現するための部品と考えれば良いでしょう。

なお、Microsoft製品と同様にビジネスで用いられることの多いGoogleスプレッドシートやGoogleドキュメントではGoogle Apps Scriptという言語がVBAに相当し、Apps Scriptを用いてマクロの操作を行うことができます。

[blogcard url=”https://data.wingarc.com/what-is-excel-3616″]

マクロでできること

マクロでできることを具体的に見てみましょう。

業務の自動化


アプリケーション内で行う業務はすべてマクロで自動化することができます。例えばExcelでは、「1000件のブックから必要なデータのみを抽出し、1つのブックにグラフ表示する」「ワンクリックで領収書やシフト表を発行する」といった操作も自動化できます。

ほかのMicrosoft製品との連携


Microsoftアプリケーション内で連携させて用いられるのもマクロの利点です。「Excelのデータをプレゼンで用いるためPowerPointのスライド内に埋め込む」「Accessに蓄積したデータを必要な分だけExcelに取り出す」など便利な活用法は枚挙にいとまがありません。

Webからのデータの取得


いわゆるWebスクレイピング(Webからのデータの取得)もVBAを理解すれば、開発環境を構築する手間なく行うことができます。サイトから抽出したデータを直接セルに設定できるため、スムーズにデータ分析に移行できる点も魅力的です。

[blogcard url=”https://data.wingarc.com/scraping-27053″]

メールの作成・送信


ExcelとMicrosoft Outlookなどのメールソフトを連携させることで、メールの作成・送信を自動で行えます。日報やメルマガなど定期的かつ大体同じフォーマットで作成することになるメールは、自動作成・自動送信することで手間を大きく削減できます。

【画像付き】マクロ×Excelで「自動化」を行う初歩

ここでは、Excelでマクロを用いて実際に「自動化」を行う手順を画像付きでご紹介します。

手順1:「開発」タブを有効にする


Excelマクロは「開発」タブから操作します。しかし、「開発」タブはデフォルトではリボンに表示されていません。そこで、リボンで右クリックを行い、「リボンのユーザー設定」を選択します。

するとExcelのオプションウィンドウが表示されるので、メインタブから「開発」にチェックを入れましょう。

そうすると「表示」と「ヘルプ」の間に開発タブが現れます。

これで、マクロを始める準備は整いました。

手順2:マクロを記録する


開発タブにはマクロ/VBAを操作する機能が取りそろっています。今回はそこから「マクロの記録」機能を使い、セルの文字色を自動で赤色にするマクロを作成します。

まずA1セルに文字を入力(今回は「データのじかん」)し、「マクロの記録」ボタンをクリックしましょう。すると、「マクロの記録」ウィンドウが立ち上がります。

そこでマクロ名を設定(今回は「文字色変更red」に)し、OKをクリック。

「ホーム」タブから文字色を赤く変更できたら「開発」タブに戻り、先ほどの「マクロを記録」ボタンの位置に切り替わって表示されている「記録終了」ボタンをクリックしてマクロを保存します。

3:マクロを呼び出す


A2セルに「データ活用」と入力し、選択したまま「開発」タブの「マクロ」ボタンをクリックします。すると「マクロ」ウィンドウが立ち上がるので先ほど保存した「文字変更red」を選択し、「実行」します。

その結果「データのじかん」と同様に赤く文字色が変更され、マクロが実行されたことがわかります。

マクロの中身は「開発」タブの左端にある「Vsual Basic」ボタンをクリックすることで確認できます。このとき立ち上がるウィンドウはVBE(Vidual Basic Editor)画面と呼ばれるもので、ここから直接VBAでマクロを記述して作成することも可能です。

作成したマクロは「標準モジュール」内に記録されており、モジュール名をクリックすれば中身を見られます。

ちなみにExcel以外の代表的なMicrosoft製品は以下の箇所でマクロの操作が可能です。

Word→「表示」タブ内の「マクロ」ボタン
PowerPoint→「表示」タブ内の「マクロ」ボタン
Access→「作成」タブ内の「マクロ」ボタン

【注意】マクロに潜む“ブラックボックス化”というリスク

非常に便利なマクロですが、注意点も存在します。それは、マクロの内容が“ブラックボックス”化してしまいやすいということ。

よくあるのがマクロの作成・メンテナンスを社内の”Excel職人”に依存していた職場において、退職や異動により業務に支障が生じる例。今は問題なく仕事が回っているからと属人的な状況に甘んじていては、いずれ大きな問題が発生することは避けられません。また、他者が誤ってシート名を変更したりファイルを削除したりしてしまいマクロが動かなくなるといった事故も起きやすくなります。

そのため、企業はマクロの社内における位置づけや管理部署、ファイル名・コメントのルールなどを事前に定めておくことが求められます。非常に便利なマクロだからこそ、不具合が生じたときの痛手は大きなものになります。基本的な考え方として覚えておきたいのは、「他人が作ったエクセルファイルはもれなく使いづらい」ということです。エクセルが複雑化すればするほどその傾向は強まります。

“作成の意図と注意点を明文化して誰でもメンテナンスを引き継げる状態”をつくりあげましょう!

終わりに

マクロの基本事項についてまとめてご説明してきました。

もちろんご紹介したのは初歩中の初歩であり、マクロを使いこなすにはすくなくとも数カ月以上の期間が必要になるでしょう。

しかし、今はネット上にさまざまなリファレンスサイトやブログ、noteが存在します。それらを参考にすればやりたいことを数日中に実現できるかもしれません。(ツイッターでエクセルについての質問を呟くと場合によってはマイクロソフトの中の人がリプを返してくれたりもします。)

前述のような“ブラックボックス化を回避しつつ、早速マクロでできることに手を付けてみることをおすすめします!初めて作ったマクロがうまく動くと無駄に感動するのでぜひ試してみてください。

© ウイングアーク1st株式会社