VBAを学ぶとき、プログラムの文法を丸暗記しなければ、と身構えていませんか?

実は、その必要はありません。

この回では、VBAを使い始めるための3つの準備と、コードを覚えなくてよい理由、そして半年で初心者レベルを抜けた私の経験を紹介します。

VBAに挑戦したい方は、ぜひ読んで下さい!


実際に使う前の準備

ここから、実際にVBAを使っていきます。

ただ、その前にちょっとした準備が必要です。

ここでは、Excel 2010以降の操作手順を説明します。


準備は3つ

1つ目は、「開発」タブを追加することです。

ExcelVBAを使うには、先にExcelのメニューへ「開発」タブを表示させます。

Excelの「オプション」を開き(「ホーム」→「その他」→「オプション」の順に選択)、「リボンのユーザー設定」の下にある「開発」タブにチェックを入れます。

これで準備は完了です。


2つ目は、VBEを開いて、標準モジュールを追加することです。

AltキーとF11キーを同時に押すと、VBAを書くエディター「VBE(Visual Basic Editor)」が立ち上がります。

どこでもよいので右クリックして、「挿入」→「標準モジュール」を選びます。

標準モジュールが追加されます。

VBAのコードは、標準モジュール「Module1」の中に書きます。


3つ目は、2つの拡張子を知ることです。

  • xlsx:Excelブックの標準的な拡張子。マクロが無効になっています
  • xlsm:Excelマクロ有効ブックの拡張子。この拡張子で保存すると、マクロが使えます

マクロを含むブックを「xlsx」で保存しようとすると、エラーが表示されます。

その場合は「いいえ」を選び、「xlsm」形式で保存すれば問題ありません。

これで、VBAを使う準備は整いました。

千里の道も一歩から、着実に覚えていきましょう。


ソースコードは、暗記しなくていい

これからVBAを学ぶ方に、お伝えしておきたいことがあります。

ソースコードを暗記する必要はない、ということです。

歴史のような暗記科目と同じ感覚でコードを覚えようとすると、とても大変で、挫折のもとになります。

私が働いていた部署でも、プログラムがうまく動かないときや、分からないことがあるときは、ネットで調べていました。


ネットで調べるより、ChatGPTのほうがおすすめ

ChatGPTが出る前は、普通にネット検索をしていました。

ただ、ネット検索は、キーワードでしか調べられず、とても非効率なことがあります。

業務用のツールを作っていて、いちばん困ったのは、次の処理のやり方が、調べても見つからなかったことです(「調べ方が悪い!」というツッコミはなしでお願いします……)。

  • まったく同じ形式のシートを3枚用意する
  • 1枚目のシートには、1人目の作業者がデータを入力していく
  • 2枚目のシートには、2人目の作業者がデータを入力していく
  • 3枚目のシートで、2人分のデータを突き合わせる(一致なら「OK」、不一致なら「NG」を表示する)

一見簡単そうですが、ネットで調べようとすると難しいです。

ふさわしい検索キーワードが、なかなか思い浮かばないからです。

運よく該当のサイトに行き着いても、個人サイトのコードは、そのままコピペして動かないことが少なくありません。

他人のコードを直す手間をかけるなら、最初からChatGPTに聞くほうが早いです。


本質を忘れない

「ChatGPTに頼りすぎると、書き方を覚えられないのでは」と心配する方もいるでしょう。

でも、本質を忘れてはいけません。

私たちの最終的な目的は「業務を効率化すること」で、「コードのテストで満点を取ること」ではありません。

VBAツールの開発は、いわば持ち込み可能な試験です。

調べても、ChatGPTに聞いても、かまわないのです。

ただ、コピペばかりでは身につかないのも事実です。

ときどき、ChatGPTのコードを手で打ち直したり、少し書き換えてみたりして、学ぶ姿勢を持ちましょう。


半年で初心者を抜けられた理由

VBAは、使っているうちに慣れてきます。

私は、以前の職場で半年ほど、VBAのツールを作っていました。

客観的に見ても、初心者レベルは何とか抜けたかな、と思えるものが作れるようになりました。

じつは、仕事がほとんどない日が2か月ほど続いたことがあり、暇つぶしがてら新しいツールを作っていたのです(笑)VBAに触れて半年ほどでも、それなりのツールは作れるようになります。

これからVBAを学ぶあなたも、自信を持って勉強して下さい。


仕事をタスクに分解する習慣

自動化の第一歩は、仕事をタスクに分けて考えることです。

たとえば「先月の売上データをシステムに反映する」という仕事は、次のように分けられます。

ChatGPTに聞いてみました。

  • データの収集:売上データの出どころ(POSシステム、オンライン販売の管理画面、手書きの売上帳など)を特定し、対象期間とデータの形式(CSV、Excel、APIなど)を確認する
  • データの収集と整理:各ソースから売上データを集め、欠損値や誤りがないか検証し、統一されたフォーマットに整える
  • データの変換と準備:システムが求める形式に変える(列名の変更、データ型の変換、日付形式の統一など)。商品別・日別の合計など、必要な集計もここで行う
  • インポートの準備:システムの要件(API、ファイル形式など)を確認し、必要な認証情報やアクセス権を確保する
  • データのインポート:手順に従ってインポートし、エラーや問題を監視して対処する
  • 検証と確認:データが正しく反映されたか、整合性チェックやクロスチェックで確認する
  • 報告とドキュメント:結果と、発生した問題・解決策を報告し、将来の参照のために作業をドキュメントにする
  • フィードバックと改善:プロセスの効率や問題点を評価して、改善策を実施する

これらは、作業を細かく分けて、扱いやすいタスクにするための目安です。

各ステップは、さらに小さな作業に分けることもできます。

自分でうまく分けられないときは、AIに手伝ってもらうこともできます。

ただ、最終的には、自分で作業を細かく分けられる力が求められます。

いまのうちから、自分の仕事をタスクに分けて考える習慣をつけておくことが、大切です。