業務改善

VBAを勉強する時間がない・・でも業務改善したいならマクロの記録

エクセルの作業を自動化できるVBA。
使えるようになると業務を速く正確に処理することができます。

最近では本だけでなくオンラインレッスンもあるので、VBAが習得しやすくなっています。

ただ、どうしてもVBAを勉強する時間がない方もいらっしゃると思います。
「少しでも仕事がラクになったら、勉強できるのに・・・」

という方のために、マクロの記録を紹介したいと思います。

お手軽な自動化ならマクロの記録

エクセルの自動化というと、エクセルVBAでプログラムを書いて作り込むイメージです。
プログラムを書けるようになると、繰り返し処理・条件分岐など複雑な処理を出来るようになります。

ただすべての方がVBAを学習する時間があるわけではないです。
まずは、マクロの記録で作ったプログラムを使って、少しだけ業務効率化をして時間を作るのがオススメです。

マクロの記録のメリット

マクロの記録ってどうなの?という方に「マクロの記録のメリット」を紹介します。

マクロの記録のメリットはこちらです。

マクロの記録のメリット

  • プログラムを知らなくても作れる
  • VBA学習に役立つ

順番に紹介します。

プログラムを知らなくても作れる

マクロの記録のメリットが「プログラムを知らなくても作れる」です。

自動化したいエクセル作業の手順をエクセルに教えるようなイメージです。

「プログラミングは分からないけど、自分のエクセル作業の手順はしっかり分かっている」という方は、使わない手はありません。

VBA学習に役立つ

マクロの記録で作成されたプログラムは「エクセルVBA」で書かれたコードです。

なので、普段行っている業務がプログラムでどうやって書かれているか知ることができます。

マクロの記録で作ったプログラムを見ることでプログラムの理解がしやすくなるかもしれません。

マクロの記録のやり方

実際にマクロの記録のやり方を紹介します。


マクロの記録はこのような流れで行います。

マクロの記録の流れ

  • メニューより【開発】→【マクロの記録】を選択
  • マクロ名を決めて【OK】をクリック
  • 記録したい動作を再現する
  • 作業が終わったら、【記録の終了】を選択する。


プログラムを書く必要がないので誰でも簡単にできます。

マクロの記録で「データ整形プログラム」を作る

ソフトからエクセルファイル出力をした場合をイメージした画面で紹介します。


指定のソフトから出力されるデータには、不要な行や列が含まれていることがあります。
毎回不要なデータを削除している方には「マクロの記録」がオススメです。

今回のデータを例にすると・・

やりたいこと

  • 1,2行目を削除したい
  • E,F,G列を削除したい
  • 3行目(削除後は1行目)にオートフィルタを付けたい

この3つの処理をしてデータを整形するプログラムを作っていきたいと思います。

マクロの記録

マクロの記録をするには、エクセルのメニューより「開発」を選んだ後「マクロの記録」をクリックします。


「マクロの記録」ボタンを押すと、マクロの記録画面が表示されます。


ここでやること

  • マクロ名を決める(そのままの名前でも問題なしです)
  • 【OK】ボタンを押す。


【OK】ボタンを押すと、マクロの記録が始まります。

この後は、自動的に処理してほしい動作を再現するだけです。
(無駄な動きをしてしまうと、全部再現してしまいます。事前に手順を整理して、慎重に操作するのがオススメです。)


マクロの記録をしたい処理が終わったら、「開発」→「記録終了」ボタンを押します。
※マクロの記録ボタンを押すと、記録終了というボタンに変わります)


これでプログラムが完成です。


プログラムの実行

完成したプログラムを実行するには、いくつか方法があります。

マクロ実行のやり方

  • 【Alt + F8】を押して、実行したいマクロを選択する方法。
  • 作成したボタンにマクロを登録する方法。


【Alt + F8】で実行する方法を紹介します。

処理前のデータがこちらです。


Alt + F8を押すとマクロ一覧が表示されます。
(実行したいマクロを選択して【実行】ボタンを押します)


実行ボタンを押すと、マクロ(プログラム)を実行できます。

すると、一瞬で処理が完了します。
手作業で毎回処理を行っていたとしたら、自動化でかなりの時短になります。

できたプログラムのコードは?

あっという間にプログラムが完成した後に気になるのは「どんなコードになっているの?」だと思います。

完成したコードを見てみましょう。

Sub Macro1()
'
' Macro2 Macro
'

'
    Rows("1:2").Select
    Range("A2").Activate
    Selection.Delete Shift:=xlUp
    Columns("E:G").Select
    Selection.Delete Shift:=xlToLeft
    Columns("A:E").Select
    Range("E1").Activate
    Selection.AutoFilter
    Range("A1").Select
End Sub

思った以上にしっかりしたコードができています。

このプログラムにもたくさん勉強できることがある

簡単な処理ですが、たくさんのプログラムがあります。

  • 行・列の削除
  • セルの選択方法
  • オートフィルタの設定方法


マクロの記録でできるプログラム

マクロの記録で作れるプログラムは、他にもあります。

マクロの記録でできるプログラム

  • オートフィルタのOn・Offプログラム
  • シート全体の計算式を値に変換するプログラム
  • 不要な行・列を削除するプログラム

これらのプログラムは、ほんの一例です。

普段の業務で「何度も繰り返している処理」がある方は試してみてもいいかもしれません。

マクロの記録で十分?

ここまで読んだ方の中には「マクロの記録で十分では?」と感じる方もいらっしゃるかもしれません。

こんなに便利なマクロの記録ですが、できないこともあります。

マクロの記録ではできないこと

  • 条件分岐・繰り返し処理
  • フォルダ操作
  • Excel以外のOfficeソフトの操作
  • ファイル出力(CSV、PDFなど)


このような処理を行うプログラムを作成するには、エクセルVBAの知識が必要になります。

ということは、エクセルVBAを学べば上記のことができてしまいます。
身の回りの面倒なことが一瞬で片付くので、出来るようになるメリットが大きいです。

あとがき

今回は、プログラムはできないけど・・自動化はしたい、という方向けに「マクロの記録」の使い方を紹介しました。

プログラムの知識が無くても自動化ができるので、多くの方に役立つ方法だと思います。

「こんなこと自動化してもどうしようもないかも・・」と思ってしまうような小さなことを自動化することで、数十秒・数分と作業時間が短縮できます。

一回あたりはとても短い時間ですが、毎日続けていくと・・年単位ではかなりの時間短縮になります。

短縮できた時間で、他の業務をやってもいいし、早く帰ってもいいと思います。

マクロの記録で「エクセルVBAに興味を持った」という方は、勉強してみてもいいかもしれません。

-業務改善
-, , ,