
3月6日(木)に『「もう限界…」人材不足に悩むIT部門へ〜業務効率化とコスト削減を実現するDX時代のIT戦略とは?~』のセミナーを開催...
マクロとは、Excelで行う作業を自動化する機能のことです。マクロの記録機能か、プログラミング言語であるVBAの記述をすれば、データの入力や加工、表・グラフ・書類の作成などで活用可能です。利用すれば、作業の効率化やヒューマンエラーの防止が期待できます。
本記事では、マクロの概要や活用する方法、利用する際の注意点について解説します。マクロについて知りたい方、業務を効率化したい方は、ぜひ参考にしてください。
目次
マクロとは、Microsoft officeのExcel操作を自動化できる機能のことです。マクロを活用すれば、一部のルーティンワークを自動化でき、データ処理における手間を抑えられます。
ここからは、マクロの活用例と使うメリットについて解説します。
マクロを活用すれば、セル・テーブルの編集やデータの集計と加工、ファイルの統合・分割などが可能です。業務における具体的な活用事例は、以下の通りです。
マクロ活用には、主に以下のメリットがあります。
業務の正確性や処理スピードの向上は、生産性・企業競争力のアップにつながります。
マクロとVBAを混同している人も多いでしょう。
VBA(Visual Basic for Applications)とは、ExcelやWord、PowerPointなどのMicrosoft Office製品における作業を自動化するために用いられるプログラミング言語のことです。一方、マクロはExcelでの作業を自動化する機能名で、マクロ機能を活用するためのプログラミング言語がVBAです。
VBAを活用すれば多くのことができます。ここからは、VBAで可能なことについて解説します。
VBAを活用すれば、ルーティンワークを自動化できます。日々繰り返し行う業務を自動化させれば、作業効率が向上するでしょう。従業員は単純作業を行う比率を減らし、収益を向上させるためのコア業務に時間を使えます。
オリジナル関数の作成もVBA活用で実現します。Excelには便利な関数が多く存在しますが、オリジナル関数を活用すれば利便性がさらに向上するでしょう。
VBAの活用により、フォルダの操作も可能です。具体的には、新規フォルダの作成やファイルを指定フォルダに移動・仕分けできます。
Excel以外にも、以下のMicrosoft office製品における操作が可能です。
Excel以外の操作を自動化でき、業務効率を高められます。
データ入力などで活用するフォームの作成も、VBAの活用により実現します。Excel上にオリジナルのフォームを作成できるため、リテラシーが高くない人でも入力・操作しやすくなるでしょう。
便利なVBAですが万能ではありません。ここからは、VBAで不可能なことについて解説します。
VBAはMicrosoft office製品専用のプログラミング言語であるため、他製品の操作は基本的にできません。ただし、VBAを活用してMicrosoft office製品と他社製品の連携が可能なケースはあります。例えば、AdobeのPDFを編集するツールであるAcrobatは、VBAで利用できるライブラリを提供しており、Excelを介してPDFの編集が可能です。また、Microsoft以外が提供している表計算ソフトの中にも、VBAで操作できるものが存在します。
VBAを活用すればExcelの編集やデータ収集などができます。ただ、データ量が膨大になると処理に時間がかかり、停止したり落ちたりするケースがあります。VBAは大量のデータを高速処理するための言語ではありません。基本的に、Excelは約100万行、Accessは2GB程度が正常に処理できる限界です。
例えば、Excelで楽しむ簡単なゲームやOutlookからメール配信するアプリ開発は可能ですが、Android・iOS用のアプリの開発には利用できません。また、Webサイトの開発にも利用できないため、注意しましょう。
マクロを活用する方法は2つ存在します。ここからは、マクロを使うための具体的な方法について解説します。
「マクロの記録」を利用する手順は以下の通りです。
順に解説します。
デフォルトで非表示になっている「開発」タブを表示させます。
まず、Excelの「ファイル」タブをクリックして、メニューバーにある「その他」を選択後「オプション」をクリックしましょう。オプションメニューが表示された後に「リボンのユーザー設定」を選び「開発」にチェックを付け「OK」をクリックします。
続いて「マクロの記録」をクリックして、マクロ名や保存先などを指定後「OK」を押します。
記録を開始したら、自動化したい操作を行いましょう。なお、ミスした操作も記憶されるため、注意が必要です。操作終了後に「記録終了」をクリックします。
記録したら操作に問題ないかを確認しましょう。「マクロ」をクリックして、テストしたいものを選択後「実行」をクリックします。
問題なければ、ファイルを保存します。なお、通常は「.xlsx」形式で保存しますが「Excelマクロ有効ブック」を選択し「 .xlsm」形式で保存する必要があります。
「VBA」を利用する手順は以下の通りです。
順に解説します。
開発タブが表示されていない場合には、マクロの記録機能を活用する際と同様の手順で表示させましょう。
次に「Visual Basic」をクリックしてVBAを開きます。メニューバーにある「挿入」を選択し「標準モジュール」をクリックしましょう。
実際に処理を実行するためのコードを記述します。具体的なコードが分からない場合は、インターネットや書籍などで確認すると良いでしょう。なお、VBAは「Sub」で始まり「End Sub」で終わらせるルールがあり、このかたまり(マクロの最小実行単位)をプロシージャと呼びます。
VBAを設定したら、問題ないかテストしましょう。マクロを実行する際には、メニューバーにある▶をクリックします。
続いて、マクロを有効にする2つの方法について解説します。
マルウェアがマクロ機能を悪用するケースがあるため、Excelのデフォルト設定ではマクロの実行が無効になっています。マクロが設定されたファイルを開くと、上部に「コンテンツの有効化」ボタンが表示され、クリックすればマクロを活用できます。
マクロに関するデフォルト設定を有効に変更して活用する方法もあります。具体的な設定の変更方法は、以下の通りです。
ただし、マクロの有効化をデフォルト設定にすると、セキュリティリスクがあります。基本的には、都度有効にする方法を利用した方が良いでしょう。
続いて、マクロをより快適に活用するための操作を紹介します。
以下の手順にて実行ボタンを作成すれば、手間なくマクロを利用できます。
ボタンの上で右クリックして「テキストの編集」を選べば、表示名の変更もできます。
以下の手順でテンプレートを作成すれば、元ファイルをコピーする手間なく新たなファイル作成が可能です。
マクロを操作する以下ショートカットキーの活用も有効です。
また、以下の手順にてショートカットキーの作成も可能です。
続いて、マクロの活用時の注意点を解説します。
条件分岐は、マクロの記録機能では対応できません。1の場合はA、2の場合はBなどの条件分岐を行いたければ、VBAを利用しましょう。
マクロを設定したら、必ず動作確認を行いましょう。万が一、誤りのある処理が繰り返されれば、大きなトラブルに発展する可能性があります。
マクロを設定したファイルを複数人で共有する場合には、管理者を設定しましょう。各個人が自由にマクロを編集できる状態にしていると、間違えがある設定に変更されてしまうリスクがあります。管理者を定め、エラーやミスが起こらない体制を整備しましょう。
マニュアルなどを作成して属人化を防ぐことも重要です。一人のみが操作や設定方法を理解している状態でその人が退職した場合、その業務が自動化できなくなるリスクがあります。
最後に、VBAを勉強する方法を紹介します。
書籍であれば、比較的安価でかつ体系的にVBAを学習可能です。最近は、リテラシーレベルに応じた書籍が多数販売されているため、利用すると良いでしょう。ただ、実際の操作を映像で見れないデメリットがあります。
インターネットや動画を活用して、VBAを学ぶ方法も有効です。時間や場所を問わず、自分の都合の良いときに学べます。また、YouTubeなどでも多くの動画がアップロードされており、無料で勉強が可能です。ただし、単発的なコンテンツが多いため、体系的な学習は困難です。
独学が難しい人には、スクールや講座の利用がおすすめです。お金はかかりますが、スクール・講座であれば体系的にVBAを学べます。また、不明点なども質問可能なため効率的に学習できるでしょう。
マクロとは、Microsoft officeのExcel操作を自動化可能な機能のことです。 データの入力や加工、表・グラフ・書類の作成などで活用可能で、作業の効率化やヒューマンエラーの防止が期待できます。
ただ、便利なマクロですが、できないことも存在します。例えば、大量データの処理はできません。
弊社SMSデータテックでは、ローコード開発ツールであるPleasanter(プリザンター)の導入支援を行っています。Pleasanterでは、さまざまなWebアプリをスピーディーに開発できるため、高い費用対効果を実現可能です。Pleasanterを活用して、業務改善効果を高めましょう。