【Excelマクロ】マクロってよく聞くけど、何が出来るの?

Excelマクロ

マクロで出来ること

マクロで出来ることは、例えば例を挙げると次のようなことができます。

①データの加工
②定期的な作業の自動化
③条件に基づく処理
④ユーザーフォームの作成
⑤ファイルの移動

①データの加工

データの加工というのは、例えば最近であれば、専用ソフトからcsvでデータをダウンロードしてくる、という機会は多くないですか?

今のソフトはさまざまな分析ができますが、汎用的に作られているソフトが多いため、自身が必要な情報が載っていない場合、自身でデータを加工して報告書などを作成する必要があります。

1回限りであればいいですが、月1回、週1回の会議資料として必要なものなど、定期的に必要な場合、毎回の作成が必要となります。

その手順は毎回同じだと思うので、定型業務(繰り返し業務)を得意としているマクロにその作業をさせるというのは良い方法だと思います。

ただ、csvはExcelの一つのファイル形式のように見えていますが、正確には「comma separated values」(カンマ セパレート バリューズ)の略称で、「カンマ(,)で区切られた値」のことです。

そのため、Excelで開けるようにはできていますが、
・罫線/セルの背景色
・太字/文字色
・関数
・オートフィルタなどの機能
は保存できず、間違って、csv形式で保存するとすべて消えてしまいます。

私自身もcsv形式でダウンロードしたものを加工し、苦労して報告書を作成したのに、保存した時に設定した罫線や背景色、関数が消えてしまい、顔面蒼白になったことが多々あります。

csvファイルを利用する場合には、「csvファイルからExcelファイル(.xlsxなど)に保存する」ことが大切です。

前置きが長くなりましたが、このようにcsvの形式のままでは処理ができないため、使い方としては、
・csvをマクロを搭載しているファイルに貼り付けてからマクロを動作させる
・マクロを搭載しているファイルから「ファイル呼び出し」でcsvファイルを取り込む
など、ひと工夫が必要です。

②定期的な作業の自動化

②定期的な作業の自動化

定期的な作業について、マクロは大きな力を発揮します。

例えば、送付先データの一覧があるときにそのデータに基づいて請求書の作成や、送付状の作成を行うことができます。

これはWordの差込印刷などでもできますが、毎回の設定が必要です。

マクロで実行すると、「送付先データ」を更新するだけで、
1.請求書の宛名欄を自動で変更
2.請求先に応じて請求データの呼び出し
3.印刷
この一連の動作を全て自動的に行ってくれます。

このように内容が決まっているものであれば、作成ができるので、単純な「送付状の印刷」なども、リストに基づき、印刷をすることができます。

③条件に基づく処理

③条件に基づく処理

Excelの情報に応じて、処理を変更することはありますが、通常の機能ではIF関数などで処理を変える方法が有名です。

マクロでは例えば、
「条件に合ったデータを別シートへコピーする」
などの動作が可能です。

そのため、支店ごと、店舗ごとのデータをそれぞれのシートに分けたい、などの作業も可能ですし、指定された内容をもとに振り分けることも可能です。

他にも、条件付き書式と少し似ていますが、該当するセルの背景色に色をつける、罫線を引くなども可能です。

④ユーザーフォームの作成

④ユーザーフォームの作成

Excelの入力はセルにしますが、データの保存としては、1つの関連した情報を右へ右へ打っていくのが鉄則です。

そのため、個人情報など、その人の「名前」「ふりがな」「郵便番号」「住所」「所属先」など横に情報を打っていきます。

それ以上に情報が増えていくと画面上で収めることができず、入力がしづらいと感じることがあります。

その時に利用できるのがユーザーフォームと呼ばれるフォーム機能があり、イメージしやすいのは何かHPで問い合わせをするときに「お問い合わせフォーム」を入力したことはありませんか?

あれも一種のフォームで、あのように縦方向に情報を入力することができます。

また、データの入力はもちろんですが、ユーザーフォームを利用することで
・登録したデータの呼び出し
・登録したデータの修正
など、ユーザーフォームに反映させると、画面をスクロールすることなく、作業ができるなどのメリットがあります。

⑤ファイルの移動

⑤ファイルの移動

Excelのマクロなので、Excel自体しか動かせない、と思われがちですが、ファイルの移動などもマクロを使えば行うことができます。

例えば、1箇所に入っているファイルを、指定された条件ごとにフォルダへ振り分けるなどの動作が可能です。

例えば、ファイル名に「202501」のように年月が入っている場合は、「202501」フォルダへ、「202502」とあれば「202502」フォルダへなどの振り分けをすることができます。

他にも、ファイル名に記載がなくても、Excelのシートに一覧で「顧客名」「担当者」と合った場合に、「担当者」をもとにフォルダの振り分けを行う、などそのような動作も可能です。

まとめ

Excelのマクロでは、Excelでできることはほとんどの作業を自動化できます。

特に繰り返しやっている業務については特に力を発揮するので、
・1時間かかっていたものが1〜2秒で済む
・7-8時間かかっていたものが5〜10分で終わった
ということができます。

もちろん、上記を実現するためには、その流れを知っておかないと作成はできませんが、一つずつ知れば、実現が可能になります。

コメント