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に手伝ってもらうこともできます。
ただ、最終的には、自分で作業を細かく分けられる力が求められます。
いまのうちから、自分の仕事をタスクに分けて考える習慣をつけておくことが、大切です。