【VBA】Excelマクロとは?どのように役立つ?何が便利なの?

この記事はこんな人の為
  • VBAを勉強し始めたい人
  • 単純作業に追われて仕事が終わらない人
  • VBA?マクロ?って聞いたことあるけどよくわからない人
Kaito

マクロを組めるようになるとめちゃくちゃ仕事を効率化できます!またプロセスをロジカルに組み立てることができるようになるため、ロジカルシンキングにも役立つと思います♪

サラリーマンはExcelをよく使うと思うので、まずはこのマクロから勉強して「TECH×サラリーマン」という今の時代の最強サラリーマンになりましょう!

Contents (目次)

マクロとは

Excelのマクロとは、我々が命令した作業を自動化してくれる機能のことをマクロと呼んでいます。「マクロを組む」とよく言うのですが、マクロをエクセルに組み込めば、ほとんどの更新業務や単純作業はマクロがやってくれるため、作業する時間が不要になります。

単純な作業はマクロにやらせ、その間に自分はもっと重要なことに取り組むことができるようになります。もしくは、マクロが仕事している間に自分は副業するなんてこともできます。その為、Excelマクロは今や全サラリーマンが取得すべき必須スキルとも言えるでしょう!

特に、大企業だと業務支援ツールを作成する専門部隊がいたりするのですが、中小企業や外資系企業の日本支社だといないことが多いので効率化するために自分で作れるようになると、周りからの評価も爆上がりするので必ず取得しましょう!

VBAとは

VBAとは(Visual Basic for Applications)の略称です(←知らなかった笑)。Excelマクロに指示を出すためのプログラミング言語のことを言います。VBAは、ExcelだけではなくPowerPointやメール、WEBスクレイピングなどもある程度自動で動かしたりすることができます。

マクロというのは実際にやってくれる機能のようなもので、それを動かすためにVBAを記述して命令を出す。みたいな感じで感覚的にわかっておいていただければ大丈夫です!

特にマクロが何を意味していて、VBAが何なのかなどはどうでもよく、「で、何ができるの?」という「VBAを学ぶことにより何ができるのか」のを理解しておけば良いと思います。

実際の活用例
  • 特定(or 複数)のサイトから価格情報を検索して蓄積していく
  • 別々のエクセルを何個も開いてコピペして更新作業をしていく
  • メールを自動生成して送信する

マクロのメリット

数々の作業を自動化し、人の単純作業を奪っていった私が実際にマクロがどのように自分の仕事に、そしてどこでも生きていけるサラリーマンとして役に立つのかを実体験をもとにお伝えいたします!

有効活用できる時間が増える

例えば、前述にもあった朝の更新作業(実績表や進捗確認)や競合他社の状況を調べるための情報収集。請求書や見積書の作成、単純な入力作業など、「単純作業」というのは実は今の時代でもそこら中に転がっています

この「単純作業」により集めた情報で、自分や上司が会議で話したり情報共有をするために、情報収集に結構な人達が朝の1~2時間使っています。しかし、こういう作業や全てマクロを一度組んでしまえばあとはボタンを押して待っておくだけで全てやってくれるので、もっと有効なことに使える時間が増えたり、今までパツパツで汗かいて仕事をしていたのが楽勝に終わったりすることができます!

Kaito

物凄く忙しそうでピリピリしている人にはちょっと話しかけづらかったりしますよね…!そんなときもマクロを組んで仕事をしたりすると、本当に時間に余裕ができるので職場のコミュニケーションも改善したりしますよ♪

ミスや破損がなくなる

Excelが苦手な人が作業をすると、知らない間に関数が消されていたりしてしっかり反映ができていない。何てことも起こります。また、不特定多数の人が順番に作業をしている場合などは、特に発生する確率もあがり、書式がみんなバラバラに入力したりしてカオス状態に陥ります。

しかし、一度マクロを組んで作業を自動化すれば、不特定多数の人が触ったとしても「ボタンを押すだけ」や「間違っている場合は警告を出す」、「作業の手順を1個1個表示させる」こともできるので格段にミスや破損は少なくなります。

このミスや破損が少なくなるだけで、その後の確認作業も減るので、ここでも格段に仕事効率を改善してくれるでしょう。

Mayu

すみません…。Kaitoさん、Excelを壊してしまった気がします…(涙

Kaito

え!?どこかな?ちょっと一回調べてみるから、その作業するの待っててね!

といった感じで、人の手が入るとそれだけミスや破損が多くなります。みんながExcelができたり得意だったりするわけではないので仕方がないですね♪

そういう時にこそ、マクロを組んであげてボタン一つで作業が終わるようにすればそれぞれが自分の本来やるべき仕事に注力できるので良いですよ!

Mayu

Katitoさん!ありがとうございます!このマクロっていうのボタン一つ押して指示通りにファイルを選んでいくだけなので、超簡単になりました♪

作業も今まで15分かけていたのが、たったの2分で終わります…(驚愕!!)

引継ぎや作業をお願いするのが簡単

何か例えば一つの更新作業や入力作業を引き継ぐ時に、開くものの数が多かったり、コピペするものが複雑だったりするとそれだけミスを誘発しやすくなりますし、教えられる側も混乱します。そして、絶対に1回では覚えられないため1~2週間かけて確認をしたり、質問を受けて答えたりというのは必ず発生してきます。

こういう懸念があると、正社員でなければとか、あの人は単純作業が苦手だからこの人にとか、責任感があって任せられる人にとか、様々な理由でこの単純作業をよりコストの高い人にやらせる傾向が出てきます。

そんな時にマクロが組まれていると、作業工程や過程を教える必要がなくなるので誰にでも簡単に引き継ぐことができます。極論、この作業は何をやっているのか?なんてどうでもいいので、ただ単にボタンを押して、マクロが言うようにファイルを選んでくれればいいだけになるため、引継ぎする人を選ばず、適切な人に適切な引継ぎをできるようになります。

Kaito

Mayuさん、このファイル⑴を更新するには、ファイル⑵のこの部分からこの部分までをコピーして、ファイル⑴のここにコピペね!あ、書式は反映させたら駄目だから貼り付けする際は、書式なしでペーストしなきゃダメだよ!

で、次にファイル⑴のこの部分は、ファイル⑶から持ってきてて…(まだまだ続く…)

Mayu

Kaitoさん…、私覚えられる気がしないです…!参照するファイルが多すぎます…(涙)

Kaito

こういうときにも、マクロを使うと誰でも簡単に仕事を教えられますよ♪例えば…

(会話の続き…)Mayuさん、マクロっていうのを組んでみたんだけど、このボタンを押してくれれば次に何のファイルを開くべきかがポップアップで出てくるから、それの指示通り選んでくれるかな?コピー&ペーストはMayuさんがやらなくても、マクロが勝手にやってくれるから大丈夫だよ♪

Mayuさんは、マクロが指示してきたとおりのファイルを開いてくれれば大丈夫!万が一、ファイルを選択し間違っても警告が出てくるから安心してね♪

Mayu

Ka,,,Ka,,,Kaitoさん神!!!間違いも起きないし、毎朝の作業が憂鬱じゃなくなりました!(涙)(…Kaitoさんは一体何者なんだろう?もしや、結構すごい人…!?)

マクロのデメリット

そんな万能なマクロなのですが、もちろん単純作業をマクロで組み機械にお願いするからこそのデメリットも存在します。次はそのデメリットを説明しておきます。

参照元のExcelの書式が更新されると動かなくなる

マクロは良くも悪くも、VBAで指示された通りのことしかできません。指示されたことは100%正確に実行するのですが、逆にイレギュラーなことがあると「これは指示されたことと違う」といった感じでエラーメッセージを出します。

つまり、マクロを使用して自動化する作業や、その作業に使うために参照するものや場所は、ある程度不変のものでなければならないのです。

例を上げると、Excelにこの項目が1列追加されました。などのアップデートが起こると、VBAの記述を書き換えなければいけません。なので、ある程度のメンテナンスが必要になるため、接続するデータベースや参照するExcelはある程度、既に完成形であることを前提にしてください。

AG

Kaitoさん!なんかマクロ回してたらエラー出てきました…!何回やっても出てくるので見てもらえませんか?

Kaito

もちろん!ちょっと待っててね♪

(確認中…)あれ?なんか参照するマスタテーブルに何か新しいテーブルが1行追加されている…。VBAの記述をちょっと直さないとなぁ(めんどくさ…)

重い作業はマクロでも時間がかかる

Microsoft Access上のデータや他のExcelを参照してデータを持ってきたり、書式や体裁を整えるマクロなどある程度の作業がExcel内で完結するものなどは比較的スムーズに動きます(それでも人がやるのと比較すると何倍も早く、そして正確に処理が動きます)。

しかし、WEBスクレイピングのような、Chromeブラウザを開いて→このサイトにアクセスして→キーワードを入れて→開いたページの値を取得して→Excelに転記をするといったマクロの場合、行数にもよりますがやはり時間はそれなりにかかります。

その為、結構大規模なマクロを組むとパソコンが2台必要になってくる事もあります。

マクロを初めて勉強する人向けのオススメサイト

理系でもなく、Excelも今まであまり触ったことがない、社会人になってようやく触り始めましたという人が、いきなりマクロに飛躍するのはちょっとハードルが高く感じます。

実際に、マクロを組まなくても関数でExcel内の作業でしたら完結することが多いです。ただ、どうしても複数のExcelや他のアプリケーションが関わってくる場合には関数ではどうにもできないのでマクロを組む必要が出てきます。

そんな文系でExcelも詳しくない人でも、めちゃくちゃ分かりやすく勉強ができるオンラインサイトがありますので紹介します!

Udemy(ユーデミー)

出典:udemy.com

Udemyに関してはもっと詳しく下記の記事で説明していますが、超クオリティの高い何でも学べるセルフラーニングサイトになります。筆者的には、本で見ても「マクロやVBAなんか全然わからん、なにこれ?」と一瞬で挫折しましたが、Udemyでマクロを勉強したところ基礎や面白さがよく分かりました。

それから、自分の自動化したい業務に合わせて購入した書籍からコマンドを調べたり、WEBで方法を調べたりして派生させていく過程で上達してきました。

動画で実際の挙動や説明が分かるので、学習意欲のある方は絶対にUdemyをおすすめします!

合わせて読みたい

VBAやマクロに関する関連記事も貼っておきますので、ぜひご覧ください!

Website | + posts

小売販売員からキャリアをスタートし日系&外資系大手企業と3度の転職を成功させ、超大手外資系IT企業でデジタルマーケティング関連職に従事。WEBコンサルティング会社を起業し、マーケットプレイスを中心とした業務代行とコンサルティング、業務効率化のソフトウェア販売を行っています。
保有資格:3級FP技能士、2種証券外務員、ITパスポート、GAIQ、Goole広告各種プロフェッショナル認定資格