Excelマクロとは?マクロできること事例11選【ほぼ全て自動化可能】
エクセルのマクロとは、何か知らない初心者の方や、Excelのマクロができる事は何なのか、どこまでできるか知りたい方向けの記事です。
単刀直入に、エクセルのマクロができることは、エクセルでの「面倒な作業を無くすこと」です。
マクロは、関数では、できない複雑なデータ処理も可能です。
Excelのマクロ初心者の方にオススメの記事もまとめてありますので、最後までご覧ください。
おもに、マクロの便利技やマクロを覚えるために必要な知識などを紹介しています。
Excelのマクロとはなにか、マクロができる事を紹介していきます。
では、さっそく、エクセルのマクロ「できること」の例を挙げて紹介します。
- グラフ、ピボットテーブル、テーブルの自動作成
- 文字列操作
- 計算処理
- セル上、VBA内で作成したデータの処理
- 指定されたデータのコピー、転記
- 別のブックや別のシート操作・連携
- グラフ、ピボットテーブル、テーブルの自動作成
- 乱雑なデータをキレイに見やすくする
- 他のアプリケーションの操作
- Outlook(アウトルック)でメール一括送信
- エクセルをPDF印刷して、メールを自動作成 & 添付
- Accese(アクセス)と連携、自動更新
一覧で例として、複数のエクセルのマクロができることを挙げましたが
実は、マクロができることはこれだけではありません。
エクセルの「マクロができること」すべてを言葉で事例をあげるのは膨大なので、難しいでしょう。
エクセルのマクロがどこまでできるのか、できないことは、後述します。
< ---目次--- >
◆エクセルマクロについて
多くの企業で使用されているMicrosoft社製のExcelは、容易に表作成、集計、グラフ化が可能なアプリケーションです。
さらに、簡易的な分析もできます。
定期的に、同じような作業をエクセルにて
手動にて作業している場合は、「マクロ」という機能を活用して自動化、又は、1クリック化することで、業務での、めんどうな作業がなくす事ができます。
せっかく、エクセルを使うならマクロを使用して、効率化しましょう。
自分で自動化したい事が、エクセルのマクロでできる事かどうかを知りたい方はいると思いますが
とりあえずは、エクセルのマクロ(VBA)ができる事は「ほぼ何でも」と思っていいと思います。
マクロでできる事が、何か知りたい方は、コメントして頂くか、又は、こちらからお問い合わせしてくだされば、対応致します。
基本的には、VBAのできることとしては、やりたい事を言葉にして、辻褄が合い、理に適っていれば、できます。
業務などで、エクセルを使用し、上部のツールボックスで操作している事はマクロで自動化できると思っていいでしょう。
別の資料データから、エクセルに入力していたら、それも、マクロで自動化できると思います。
関数でできる事はマクロ(VBA)でもできる事になります。むしろ、VBAできることの中に関数作成があります。
Excelマクロのできる事を文章説明で知るより、とりあえずなにかマクロを作ってみたいという方は
こちら(マクロの作り方~初級編~)を参考にお試しください。
下記リンクの「開発」タブを表示すると、エクセルのマクロができるようになります。
「マクロ」と検索すると「VBA」という言葉を見かけることがあると思います。
このサイトでは、「マクロ(VBA)」と表記する事が多いですが、意味の違いを知らない人のために、「マクロ(VBA)」と表記しています。
マクロとVBAの違う意味なのですが、それをご存じでない方はこちら(VBAとマクロの違い)をご覧ください。
膨大になってしまうため、VBAのコードは割愛しますが、上記に紹介したVBAができる事を例として詳しく説明したいと思います。
最新 文房具・オフィス用品 の 売れ筋ランキングはこちらここからはVBAでできることの詳細を説明します。
◆エクセルマクロとは
エクセルの「マクロ」とは、Excelの標準機能で、エクセルでの作業を自動可できるマクロ機能になります。
エクセルを使用し、毎回、似たような作業を繰り返す時などに、使用します。
簡単な作業内容でしたら、ノーコードでマクロを作成する事が可能です。
マクロができる事として、「ノーコードでマクロを作成」もできます。
※ノーコードとは、プログラミング言語を入力しないで、クリック作業のみで
プログラムを作成する事を指します。
◆エクセルマクロができること
エクセルのマクロとは何か、上記の説明で理解できたと思います。
ここからは、エクセルのマクロができることを紹介していきます。
・文字列操作
参考動画のような操作もマクロならボタン一発でできます。
ギリギリ、エクセルの関数でも文字列抜出(MIDやFIND)で出来そうですが、
関数だと、区切り条件が多くなり、複雑になりそうなので、マクロの方が適任な気がします。
ちなみにシートイベントを使用すれば、ボタンも押さずに
住所を入力するだけで、区切りができるので、関数と同様の処理が可能です。
他にも、文字列を置換したり色々な事ができます。
詳細はこちら()をご覧ください。*****
・計算処理
関数でできるように、VBAでも様々な計算処理ができます。
複雑な処理は、VBAで処理した方が好ましいです。
シートで使用するシート関数も作成する事もできます。
シート関数の作り方は、詳細はこちら()をご覧ください。*****
・セル上、VBA内で作成したデータの処理
セル上のデータ処理はもちろんの事、VBA内でデータを作成する事も可能です。
VBA内で作成したデータに色々な処理を施し、最終的にセルに書き込む(表示)事も可能です。
1個のVBAでセル上のデータ処理しまくると、マクロが重い処理になるので、お気を付けください。
マクロの処理が重いので高速化対策をしたい方は、こちら(VBA高速化)をご覧ください。
・指定されたデータのコピー、転記
特定のデータをコピーし、指定範囲に貼付けすることもできます。
恐らく、「マクロの記録」で最初にするのは、この操作ではないでしょうか。
「マクロの記録」のやり方がわからない方は、こちら()をご覧ください。*****
・別のブックや別のシート操作・連携
もちろん、別のフォルダに保存してあるエクセルブックも操作可能です。
そのブックのデータをコピーして吸い出すことも可能ですし、シートを指定して操作することも可能です。
詳細はこちら()をご覧ください。*****
・グラフ、ピボットテーブル、テーブルの自動作成
そのままですが、指定したデータに対して、グラフ、ピボットテーブル、テーブルを作成し、それぞれの詳細もマクロ(VBA)にて指定できますので
毎回、同じようなデータからグラフ、ピボットテーブル、テーブルを作成する作業をしている方は、これを機に覚えた方が良いでしょう。
仕事がかなり楽になると思います。
データによりますが、1クリックで作成完了すると思います。
ちなみにですが、最初のデータからテーブルで作成しておいた方が、マクロでそのデータを扱いやすくなります。
グラフやピボットテーブルをマクロで作成する予定があるなら、テーブルを使いましょう。
グラフをマクロで作成する詳細はこちら()をご覧ください。*****
ピボットテーブルをマクロで作成する詳細はこちら()をご覧ください。*****
テーブルをマクロで作成する詳細はこちら()をご覧ください。*****
・乱雑なデータをキレイに見やすくする
シート上のあちこちにデータが乱雑していて、それを整理することも可能です。
この場合は処理がすこし面倒ですが可能です。
とりあえず、乱雑に配置されたすべてのデータを配列に格納して
その配列内で、文字列なのか、数値なのかなど、特定の条件分岐で仕分けするしかないでしょう。
詳細はこちら()をご覧ください。*****
・他のアプリケーションの操作
マイクロソフト以外のソフトも操作可能です。
起動中のアプリ名を指定してアクティブにすることは可能です。
その後は、キー操作でなんとか対処する形です。
VBAでのキー操作なので、マクロ実行中にマウスカーソルやキーボードから入力すると、誤作動に繋がるので、ご注意ください。
詳細はこちら()をご覧ください。*****
・Outlook(アウトルック)でメール一括送信
Outlook(アウトルック)上でもExcel(エクセル)上でもどちらかで
マクロを作成すれば可能です。
詳細はこちらをご覧ください。
・エクセルをPDF印刷して、メールを自動作成 & 添付
エクセルのデータをPDFに変換して、メールを自動作成し、PDFを添付して、自動送信が可能です。
本文の内容も色々と変更可能ですし
自動送信が嫌なら、自動作成までしたOutlook(アウトルック)上でメールを表示し、自分で送信ボタンを押すことが可能です。
詳細はこちら()をご覧ください。*****
・Accese(アクセス)と連携、自動更新
Accese(アクセス)からExcel(エクセル)、Excel(エクセル)からAccese(アクセス)どちらからもマクロで連携可能です。
マクロを使わなくても、Excel(エクセル)でAccese(アクセス)のデータを取得すれば、連携可能です。
自動更新などしたい場合は、マクロをオススメします。
詳細はこちら()をご覧ください。*****
◆エクセルマクロができるけど得意じゃないこと
・他のアプリケーションの操作
人間のように、プログラム言語には得手不得手があります。
「他のアプリケーションの操作」は、エクセルのマクロでできる事として
記載したのですが、正直に言うと、エクセルのマクロは得意ではありません。
他のウィンドウのアプリを操作するのは、マクロ(VBA)でキー入力等の処理をして
操作するので、確実性に、欠けますが、一応できるといった感じです。
マイクロソフトのアプリ同士の操作なら、VBAでキー入力の処理をする必要もなく、しっかり連携できるので、割と問題なくできますが、少し動作が重くなる印象です。
◆エクセルマクロできないこと
・不規則なデータの整理
上述したとおり、「やりたい事を言葉にして、辻褄が合い、理に適っていれば」VBAではほぼできるが、「不規則なデータの整理」はマクロでしない方がいいです。
逆にプログラムを組む時間がかかりますので、手動で整理した方が早いです。
不規則なデータの中でも規則性があるものだけ抜粋して、マクロを使用するのは有りだと思います。
最新 文房具・オフィス用品 の 売れ筋ランキングはこちら・伝票などの資料を自動入力
当然ながら、紙の資料の場合は入力する値がデータ化されていないので物理的に無理です。
OCR等で正確にデータ化しないと無理ですね。
◆マクロ初心者の方へオススメ記事
・マクロの始め方~開発タブの表示~
・マクロの始め方~試しにマクロを作ってみよう~
・マクロの基本~セルの値を取得~
・マクロの基本~条件分岐して実行する処理を分ける~
・マクロの基本~繰り返し処理をしてさらに楽に~
・マクロ?VBA?VBE?違いはなに?
・「VBE」の便利なショートカットキー
・「VBE」で「VBA」ソースコードを改行する方法
・マクロ中級~色々なセルの指定方法~
◆まとめ
エクセルのマクロ(VBA)ができる事は、作業をほぼ自動化できます。
こんなことできるの?という疑問があれば、ぜひコメントしてください。
人間同様、プログラムにも得手不得手はあります。
PC作業を自動化した場合は、「VBA」だけではなく、他の言語も視野に入れてください。