
生成AIに頼めば、VBAを知らなくても仕事を自動化できる」
そう聞いて、実際に試した人もいるのではないでしょうか。
やりたいことを入力すると、数秒でコードが表示される。
それをExcelのVBEに貼り付けて実行すると、これまで手作業で行っていた処理が自動で進んでいく。
初めて動いたときは、「これなら自分にもできる」と感じるでしょう。
生成AIにVBAを書いてもらい、毎月繰り返していたExcel作業を自動化できました。
ところが、翌月、仕事の条件が少し変わったことで、マクロが動かなくなります。
コードは手元にあります。
生成AIにも相談できます。
それでも、Cさんは何を直せばよいのか分かりませんでした。
この経験から見えてきたのは、AIがコードを書く時代になっても、VBAの基礎が不要になったわけではないということです。
必要とされる力の形が変わったのです。
毎月の集計を生成AIに相談した
Cさんは、小規模な会社で売上資料を作成していました。
月末になると、各担当者が作成したExcelファイルを一つずつ開き、売上金額を集計用のシートへ転記します。
ファイルの形式はほぼ同じです。
担当者名はB2セル
売上金額はF10セル
それぞれの数字を集計表へ転記し、最後に合計を確認します。
難しい作業ではありません。
しかし、担当者が増えるほど、ファイルを開いて転記する回数も増えます。
毎月同じ作業を繰り返すことに負担を感じたCさんは、生成AIへ次のような依頼をしました。
「フォルダ内にある複数のExcelファイルを開き、B2セルの担当者名とF10セルの売上金額を、集計用シートへ一覧で転記するVBAを作ってください」
生成AIは、すぐにコードを作成しました。
Cさんがコードを貼り付けて実行すると、フォルダ内のファイルが順番に開き、担当者名と売上金額が集計表へ転記されました。
これまで時間をかけていた作業が、短時間で終わりました。
「VBAを勉強しなくても生成AIがあれば自動化できる」
Cさんがそう感じたのも、無理はありません。
翌月、ファイルの形式が少し変わった
翌月、一部の担当者が提出するファイルの形式が変更されました。
これまでF10セルに入力されていた売上金額が、新しいファイルではG12セルへ移動していました。
さらに、ファイルによっては「売上」というシートではなく、「月次売上」という名前が使われていました。
マクロを実行すると、途中でエラーが表示されました。
Cさんは、コードを見ましたが、どの行がシート名を指定し、どの部分がセルを参照しているのか、すぐには分かりませんでした。
生成AIへ「エラーが出ました」と伝えると、新しいコードが表示されます。
そのコードに入れ替えると、今度は別のエラーが出ました。
エラーの画面をコピーし、再生成AIへ貼り付ける。
修正されたコードを、もう一度貼り直す。
何度か繰り返すうちに、Cさんは不安になりました。
「このコードは、本当に正しく集計できているのだろうか」
最初は、自動化できたことがうれしかったはずでした。しかし、コードの意味が分からないまま修正を繰り返すうちに、自分が何をしているのか分からなくなってしまったのです。
困ったのは、コードを書けなかったことではなかった
Cさんがつまずいた理由を、「VBAを書けなかったから」と考えることもできます。
しかし、本当の問題は別のところにありました。
Cさんは、自分の仕事にどのような違いが発生したのかを整理できていませんでした。
- 売上金額を取得するセルがF10からG12へ変わった
- 対象となるシート名がファイルによって異なるようになった
この違いを明確に伝えられれば、生成AIへ具体的な修正を依頼できます。
ところがCさんは、コードを理解していなかった。
- どこがセルを指定しているのか
- どこがシートを指定しているのか
- どの処理を繰り返しているのか
そのため、「動きません」「エラーが出ます」という伝え方しかできなかったのです。
生成AIがコードを書けるかどうかではなく、利用する人が問題を切り分けられるかどうか。
そこが、修正できる人と修正できない人の違いになります。
生成AIは、説明されていない事情までは判断できない
生成AIは、伝えられた条件をもとにコードを作成します。
最初の依頼では、
- 「B2セルから担当者名を取得する」
- 「F10セルから売上金額を取得する」
この条件が示されていました。
生成AIは、その条件に沿ってコードを書きました。
翌月、実際のファイルが変わっても、生成AIが自動的に会社の事情を知ることはできません。
- なぜセルの場所が変わったのか
- どのファイルが新しい形式なのか
- 古い形式のファイルも残っているのか
- シート名の違いを、どのように判定するのか
- 該当するシートがなければ処理を止めるのか
こうした条件は、人が整理して伝える必要があります。
AIがコードを作ってくれるようになったことで、コードを一文字ずつ入力する負担は減りました。
その一方で、「自分の仕事を正確に説明する力」の重要性は高まっています。
Cさんが最初に学び直したこと
Cさんは、すぐに難しいコードの勉強を始めたわけではありません。
まず、自分が使っているマクロの中で、次の部分を確認しました。
- ブックを開いている場所
- シート名を指定している場所
- セルを指定している場所
- 複数ファイルを繰り返している場所
- エラーが起きたときの処理
すべてのコードを暗記しようとはしませんでした。
- 「この部分は、何をしているのか」
- 「この文字を変えると、どこが変わるのか」
これらを一つずつ確認しました。
すると、エラーの意味が少しずつ分かるようになりました。
- シート名が見つからない。
- 指定したセルに想定したデータがない。
- ファイル形式が以前と違う。
それまでは「マクロが動かない」という一つの問題に見えていたものが、別々の原因に分けて見えるようになったのです。
修正できたのは、自分でコードを書けたからではない
Cさんは、最終的なコードを一から自分で書いたわけではありません。
修正版生成AIに作ってもらいました。
ただし、依頼の内容は最初と変わりました。
以前は、「エラーが出るので直してください」としか伝えられませんでした。
学び直した後は、次のように伝えられるようになりました。
「現在のコードは、『売上』シートのF10セルから金額を取得しています。新しいファイルではシート名が『月次売上』、金額の位置がG12セルです。古い形式と新しい形式の両方に対応し、どちらのシートも存在しない場合は、そのファイル名を一覧に記録するように修正してください」
生成AIにVBAを書いてもらうCさん
この依頼によって、生成AIが考慮すべき条件が明確になりました。
表示されたコードについても、
- 「ここでシート名を確認している」
- 「ここで新旧のセルを切り替えている」
- 「ここで対象外ファイルを記録している」
このように、大まかな処理を確認できました。
Cさんが身につけたのは、すべてのコードを書く力ではありません。
自分の仕事を整理し、AIへ必要な条件を伝え、出力された処理を確認する力でした。
AI時代にVBAを学ぶ意味は変わっている
以前は、VBAを使うためには、自分でコードを書くことが大きな壁でした。
構文を覚え、命令を書き、エラーを直しながらマクロを完成させる必要がありました。
現在は、生成AIに依頼することで、コードのたたき台を短時間で作れます。
だからといって、基礎学習が不要になったわけではありません。
学ぶ目的が変わりました。
すべてのコードを暗記するためではない。
- 生成AIへ正しい条件を伝える
- 出力されたコードの処理を確認する
- エラーの原因を切り分ける
- 必要な修正箇所を判断する
- 仕事に使って問題がないか確認する
これらができるようになるため、VBAの基礎を学びました。
AIがコードを書く時代には、「書けるか、書けないか」だけで人を分けることはできません。
重要になるのは、AIが書いたものを、自分の仕事に合わせて管理できるかどうかです。
生成AIを使う前に整理すべき5つのこと
Cさんの経験から分かったのは、最初の依頼内容が具体的であるほど、修正の回数を減らせるということです。
生成AIにVBAを依頼する前に、少なくとも次の5点を整理します。
1. 何を自動化したいのか
「集計を自動化したい」だけでは、処理の内容が分かりません。
どの作業を、どこからどこまで任せたいのかを具体的にします。
2. どのファイルやシートを使うのか
ファイルの保存場所、ファイル名の規則、対象となるシート名を整理します。
人によってファイル形式が違う場合は、その違いも伝えます。
3. どのデータを取得するのか
セル番地、列名、見出し名など、必要なデータを特定する条件を整理します。
位置が変わる可能性がある場合は、そのことも伝えます。
4. 例外が起きたらどうするのか
ファイルがない。
シート名が違う。
セルが空白になっている。
こうした場合に、処理を止めるのか、飛ばすのか、記録するのかを決めます。
5. 最後に人が確認することは何か
すべてをAIとVBAへ任せる必要はありません。
金額の確認、例外データの判断、最終的な保存など、人が確認すべき部分を残します。
この5点を整理するだけでも生成AIへの依頼は具体的になります。
生成AIが書いたVBAを使う前に確認したいこと
コードが動いたことと、仕事で安全に使えることは同じではありません。
特に、元のデータを変更したり、ファイルを削除したり、上書き保存したりするコードには注意が必要です。
実務で使う前に、次の点を確認します。
- 元のファイルをコピーしてテストしているか
- 一部のデータだけで試しているか
- 処理前後の数字を比較したか
- 想定外のファイルがあった場合の動きを確認したか
- 上書きや削除が行われないか確認したか
- 誰が見ても処理内容を説明できる状態か
Cさんも、修正版をすぐに本番のファイルで実行したわけではありません。
テスト用のフォルダを作り、古い形式と新しい形式の両方を入れて確認しました。
そのうえで、転記された金額を元のファイルと照合しました。
生成AIが作ったコードであっても、最終的な確認をするのは利用する人です。
「VBAが分からないからAIを使う」は間違いではない
VBAが分からない人が、生成AIを使ってはいけないわけではありません。
むしろ、これまで自動化を諦めていた人が、小さな改善を始められるようになったことは大きな変化です。
大切なのは、最初から完璧なマクロを作ろうとしないことです。
- セルの値を別の場所へ転記する
- シートを一枚コピーする
- ファイル名を一覧にする
- 決まった範囲だけを集計する
このように、小さな処理から始めます。
コードを生成AIに作ってもらっても構いません。
ただし、実行する前に、
- 「どこを読み取っているのか」
- 「どこへ書き込んでいるのか」
- 「失敗したら何が起きるのか」
この3点だけは確認します。
この習慣が、AIに任せきりになる状態を防ぎます。
Cさんが気づいた、これから必要になる力
Cさんは最初、VBAを学ぶことを「コードを覚えること」だと思っていました。
生成AIを使い始めてからは、「もうコードを覚えなくてもよい」と考えました。
しかし、実際に修正できなくなったことで、考え方が変わりました。
これから必要なのは、すべてのコードを暗記することでも、AIにすべてを任せることでもありません。
自分の仕事を理解し、どこをAIに任せ、どこを人が確認するかを決めることです。
VBAの基礎知識は、その判断をするために役立ちます。
変数、条件分岐、繰り返し処理、ブックやシートの操作
一つひとつを完璧に暗記していなくても、役割が分かれば、ChatGPTへ具体的な質問ができます。
出力されたコードのどこを確認すべきかも見えてきます。
AI時代に求められるのは、AIより速くコードを書く力ではありません。
AIが作ったコードを、自分の仕事に合わせて使いこなす力です。
次に何をすればいいのか
すでに、生成AIで作ったVBAを使っている人は、そのコードを開いて、次の3か所を探してみてください。
- 操作するブックやシートを指定している場所
- 読み取り、または書き込みを行うセルを指定している場所
- 同じ処理を繰り返している場所
すべてを理解する必要はありません。
まずは、自分の仕事に直接関係する場所を確認します。
これから生成AIへVBAを依頼する人は、コードを作ってもらう前に、次の内容を書き出してください。
- 現在、手作業で行っている手順
- 使用しているファイルとシート
- 取得するデータと書き込む場所
- 発生する可能性がある例外
- 最後に人が確認する内容
コードが動かずに困っている人は、「直してください」と依頼する前に、正常に動く場合と動かない場合の違いを一つ探します。
基礎に不安がある人は、VBAを一からすべて覚えようとするのではなく、セル、シート、条件分岐、繰り返し処理の役割から確認してみてください。
生成AIは、VBAを学び終えた人だけが使う道具ではありません。
VBAを学びながら、仕事を改善するためにも使えます。
ただし、AIが作ったコードを仕事で使う以上、最後に判断する責任までAIへ渡すことはできません。
コードを書く作業は、AIに任せられるようになりました。
コードで何をさせるのかを考え、正しく動いているかを確認する役割は、これからも人に残ります
VBAの基礎を確認したい人は、自分に合った学習の道筋を見つけることから始めてみてください。
- 完全初心者 → マクロ記録の記事を読む
- 少し触ったことがある → 基本文法を学ぶ
- 独学で迷っている → 問題集で理解度を確認する
この後、 小さな自動化から始める
当サイトでは、VBAエキスパートの学習範囲をもとに、初心者でも段階的に学べる問題集や解説記事を用意しています。
▶【2026年最新版】VBAエキスパート試験対策|独学で1回合格する勉強法と問題集
生成AIを使うために、最初から複雑なVBAを書ける必要はありません。まずは、自分のExcel操作とコードがどうつながっているのかを知ることが大切です。
その入口になるのが、Excelのマクロ記録です。
