VBAで解決!毎月の売上集計作業のアノお悩み

この記事はこんなあなたにオススメ!

  • 毎月の売上集計を各店舗など複数のExcelファイルから売上情報を集計表へまとめている
  • VBAという言葉は聞いたことがあるが、どんなものかよくわからない

売上集計の手間がかかる作業は、VBAで解決することができます。こんな質問を受けました。

私、経理部のO田。売上集計業務を担当しています。弊社では売上情報を店舗ごとにExcelで管理しています。毎月メールで送られてくるExcelファイルから売上情報を転記して、月次の売上集計作業をしています。最近、弊社では店舗数を増やしていて、売上集計対象となるExcelファイルも増えました。増える度に売上集計表の各所に欄を追加しなければなりませんし、転記が多くなった分、ミスがないかチェックする時間も増えました。正直、毎月の売上集計作業の負担が大きくなっています。同じように他社で事務をしている友人から、VBAというものを使うと集計が楽になると聞いたんだけど、それってどんなものなのでしょうか?

毎月悩まされる売上集計の課題

O田さんが担当している売上集計作業は、基本的に毎月決まった手順で行われます。しかし、手作業による転記のミスが発生したり、目視による確認に時間がかかってしまっていたり。せっかく表計算のソフトであるExcelを使っているのにとてももったいないのです。

あなたの売上集計業務にも、こんな問題がありませんか。

  • 集計の母数が多く、転記作業が大変
  • 転記時の入力ミスが発生してしまう
  • ミスをチェックする目視の確認作業に手間がかかる
  • 新たな集計対象ができるたびに入力欄を追加する必要がある

など、売上集計対象のExcelファイルをそのまま使っていては、解決しづらい課題がたくさんあります。

VBAを使って自動化したら解決する

あなたは売上集計をどのような手順で行っていますか?例えば、O田さんが毎月行っている売上集計作業は次のようなものです。

  • メールで届いた、各店舗の売上情報Excelファイルを決まったフォルダーに保存する
  • 各店舗のExcelファイルから売上集計表に売上情報を転記する
  • 転記内容に間違いがないか確認する
  • すべての店舗分転記を繰り返す
  • 集計された売上情報をPDFで保存または印刷する

毎月手作業で行っている、この作業を自動化できたらどうでしょう?決まったフォルダーに送られてきたExcelファイルを置いておき、あとは集計表のファイルを開いて、ボタンを押すだけ。しかもミスなく作業が進んでくれるとしたら?なんだか、集計作業がとても楽になりそうですね。VBAというExcelが持っている機能を使えば、それが可能になります。

そもそもVBAとはどんな機能?

VBAとはいったいどういった機能なのでしょうか。VBAが何かを知るため、まずは売上集計に使われているExcelの機能について改めて見てみましょう。Excelは表計算ソフトと呼ばれる。よほどの事情がなければ、関数での集計がなされていることでしょう。売上集計でよく使われる関数には、合計を求めるSUM、SUMIF、DSUMや件数を求めるCOUNT、COUNTIFなどがあります。また、多角的にデータを利用し、複数の項目に関する集計結果を表示できるピボットテーブルという機能もあります。集計結果をグラフィカルに表示できるグラフ機能も使われていることが多いですね。

このような機能を使い、決まった手順で売上集計を行っている場合、作業の操作そのものを記録して再生するマクロという機能もあります。たとえば、店舗のExcelファイルに、今月の売上情報のシートから売上集計表のファイルへ転記する操作をマクロ記録します。記録したマクロを再生すると、自動で正確に同じ操作をしてくれます。

マクロからさらにもう一歩進んだのがVBAです。例に挙げたマクロ、1つのExcelファイルを開いて転記は自動でできますが、ひとつずつファイルを開かないといけないので手間を減らす効果は今ひとつですね。VBAなら、マクロで記録した操作の中で、対象となるファイルやフォルダー、シートを複数選んだり、実行する日の日付から決めたりすることができます。また条件付けを加えて操作することもできます。売上集計を自動化するのに使えるVBAは、Excelの機能として付属しているプログラミング言語です。

プログラミングなんて難しすぎるという声が聞こえてきそうですが、そんなことはありません。今やプログラミングの考え方は小学校で学ぶ時代(2020年度より必修化)。次から説明するように、作業の手順を分解して、ひとつずつの操作が何をどうしているかが理解できていれば、あとはその操作をVBAなどのプログラミングの言語に翻訳してあげれば大丈夫です。英作文と少し似ています。文章を言葉のかたまりに分解して、その言葉に対応する英単/語を並べていく。英語の代わりにVBAというプログラミング言語を使います。もちろん、VBAそのものを覚える必要はありますが、新しい外国語を学ぶよりも、通常使う語数や文法はずっと少ないですし、何よりVBAを使うことで仕事がグッと楽になります。それってとってもおトクなのではないでしょうか。

売上集計の手順、どこをどう自動化できる?

さて、売上集計業務をVBAで自動化するなら、一番大切なのは業務の流れの把握です。先ほど売上集計の手順を見てみましたが、さらにひとつずつの操作に分解してみましょう。

  1. メールで届いた、各店舗の売上情報Excelファイルを決まったフォルダーに保存する
  2. 売上集計表のExcelファイルを開く
  3. 各店舗のExcelファイルを開く
  4. 売上集計表の、該当する店舗の今月の欄のセルに売上情報を転記する
  5. 転記内容にミスがないか目視で確認する
  6. 転記が終わったら集計済フォルダーに移動する
  7. 3~6をすべての店舗ぶん繰り返す
  8. 集計された売上情報をPDFで保存または印刷する

O田さんの行っている売上集計業務ではこのような流れになりました。それぞれの操作について、Excelの操作でできることであれば、基本的にVBAで自動化することができます。この例の場合、1.のメールソフトからExcelファイルを保存する、と5.の目視確認はExcelではできませんから、VBAでの自動化の対象外になってしまいます。逆に言えば、残りの多くの操作は、VBAで自動化することにより、ミスなく時間もかけずにできるようになります。また、毎月の手順には含まれていませんが、店舗が増えたとき(集計対象が増えたとき)には売上集計表の項目を追加することもVBAなら、自動でできます。

VBAで自動化するとどうなる?こんなにあるメリット

VBAで売上集計の業務を自動化するメリットには、次のようなものがあります。

  • 転記などの手作業にかかっていた時間を大幅に短縮できる
  • 転記時の入力ミスが発生しない
  • ミスがないので、確認作業にかかっていた時間も短縮できる
  • 新たな集計対象ができても手作業で追加する必要がない
  • 集計業務全体の精度向上にもつながる

集計業務全体の、と急に言われてもピンとこないでしょうか。たとえば、VBAで、集計対象のExcelファイルの入力されている内容のチェックを工夫することで、転記時ではなく送付された時点で起きていた記入のミスを検出することもできます。ずっと時間が経ってから修正の連絡が入り、またExcelファイルを保存し、改めて転記作業をし、報告のファイルも作り直し…VBAで集計業務を自動化していれば、そんなよけいな時間を取られることもありません。

あなたの集計業務の流れもぜひ分解してみてください。意外と、毎月手癖でやってしまっている作業も多いものです。場合によっては月初にExcelファイルの送付を催促するメールを出していたりするかもしれませんね。そういった間接的な作業も流れの中のひとつとして意識しておくと、VBAを使って自動化する他にも、さらに業務を楽にしてくれるヒントが得られるかもしれません。

集計業務全体の流れを意識して、自動化できる作業はVBAで自動化し、見直せる作業は見直すことで、より精度の高い売上集計業務を行えます。たとえば、1)をメール送付ではなく、OneDriveのようなクラウドストレージ(ネットドライブ)のフォルダーに、各店舗のExcelファイルを置いて編集してもらう形にします。すると、メールの添付ファイルを開いて保存する、修正ファイルが送られてくる度にファイルを差し替えるといった手間が減らせます。また、メールの誤送付による情報漏洩を防ぐ効果もあります。

Excelファイルを使った売上集計業務の、多くの操作はVBAで自動化して、負担を減らしましょう。一方、Excelでの作業ではない場合、操作自体を変えることが可能な作業内容であれば、より見直しも図りやすいですね。VBAによる自動化と操作自体の見直し、両方取り組むことで相乗効果があります。

手作業での集計、悩んでいるならVBAで自動化を考えよう

毎月の売上集計業務で、O田さんと同じように店舗や支店、営業所から売上情報のExcelファイルを受け取り、データを手作業で転記して売上集計表にまとめているあなた。集計作業に手間がかかっているというお悩み、どうすれば解決できるか、ここまで読んだらもうおわかりになりましたね。売上集計の手間がかかる作業は、VBAで解決することができます。質問を寄せてくれたO田さんもあなたも、この記事を読んでVBAでの自動化をぜひ考えてみてくださいね。

VBAをスクールで学ぼう

VBAだけでなく、いわゆるプログラミングを学ぶには、本やサイトを参考にしながらの独学、オンラインまたは実際のセミナーやスクールに通うといった方法があります。VBAの場合、パソコンにMicrosoft Officeが入っていればよいので、どの方法も難しい準備なしに学び始めることができます。もし、プログラミング自体未経験であれば、VBA自体を学びながら、プログラミングそのものの考え方から学んで理解する方がいいでしょう。そのためには、小学校のプログラミングの授業と同じように、VBAもスクールで学ぶのが安心です。スクールでVBAについて学びながら、次の売上集計業務に備えてみてはいかがでしょうか。

Close