Excelで転記作業をしていると、こんなことはありませんか?
- 転記元の列が変わる
- 転記先のセル位置が変わる
- 毎月フォーマットが少しずつ違う
最近はChatGPTやCopilotにVBAを書いてもらうこともできます。
しかし実際に試してみると、
「思った通りに動かない」
「修正するたびに別のエラーが出る」
「出力されたコードが長すぎて何をしているかわからない」
という経験をした方も多いのではないでしょうか。
私は48歳から独学でVBAを学びました。
ネットに転がっているコードをコピーしては動かし、エラーが出たら検索する。そんなところからのスタートです。
そして生成AIが登場し、
「これで未経験者でもプログラムが作れる時代になった」
と思いました。
実際、生成AIはコードを書いてくれます。
私自身も、これでもう細かい文法を覚えなくても良いのではないかと思いました。
しかし、実際に未経験者の方へ業務ツール作成を教えたり、自分自身が業務ツールを作ったりする中で、別の壁が見えてきました。
生成AIはコードは書ける。
でも、
- どのシートを使うのか
- どのデータを使うのか
- どこへ出力するのか
- 何をマスタとして管理するのか
までは決めてくれません。
やはり、コードを書く前に行う設計がとても重要なのです。
このことを改めて痛感しました。
今回から始まる
「VBAクッキング ~生成AIファースト~」
では、
- VBA部品
- 処理パターン
- シート設計
を組み合わせて、
未経験者でも生成AIを活用しながら業務自動化に取り組める考え方を紹介していきます。
目次
なぜ生成AIでもVBAの開発は失敗するのか
生成AIはコードを書けます。
エクセル作業を生成AIでコードを書けば「目の前の業務が楽になる」と思った方も多いと思います。
しかし設計は人間が行う必要があります。
「転記して」
の一言では曖昧すぎるのです。
プログラムは料理に似ている

私はコードを書き始めたころ、
「プログラミング=コードを書くこと」
だと思っていました。
しかし実際に業務で使うツールを作り始めると、そうではないことに気付きました。
例えばカレーを作るとします。
完成したカレーを見ても、
材料
↓
下ごしらえ
↓
調理
↓
盛り付け
という工程があります。
一方でコードは、
料理でいうところの
包丁の使い方
フライパンの使い方
煮込み方
に近いものです。
もちろん大切です。
しかし、
レシピが決まっていない状態で料理は作れません。
コードとプログラムは違う
私は生成AIが登場してから、
多くの方が同じ失敗をしているように感じています。
それは、
生成AIにコードを書いてもらう
ことと、
プログラムを作る
ことを同じだと思ってしまうことです。
例えば生成AIに
「売上データを転記して」
と依頼したとします。
しかし、
・どのシートから
・どの列を
・どこへ
・どういうルールで
転記するのかが決まっていなければ、生成AIも正しい答えを返すことができません。
これは生成AIにコードの作成を依頼するより前に、人間が「設計」を考えておかなくてはなりません。
私が部品化を始めた理由
私は48歳から独学でVBAを学びました。
ネット上のコードをコピーして動かすところから始まりました。
しかし業務で使うツールを作るようになると、
毎回同じような処理を作っていることに気付きました。
最終行取得
ファイルを開く
シート存在チェック
転記
マスタ検索
などです。
そこで、
それらを部品化することにしました。 ⇒ 部品一覧
しかも、
私が目指したのは、ツールの変更時にコードを修正し続けることではありません。
シート上の設定を変更するだけで対応できる実用的な仕組みです
例えば、
転記先が変わったら設定を変更する。
転記元が変わったら設定を変更する。
生成AI時代になった今でも、この考え方は変わりません。
VBAクッキングの考え方
VBAクッキングでは、料理になぞらえて考えます。
材料
VBA部品:例
–最終行取得
–MATCH検索
–転記処理
レシピ
レシピとは設計です。
どのシートを使うのか、
どの順番で処理するのか、
どのマスタを参照するのか。
こうした設計を処理パターンとして整理したものがレシピです。
処理パターン:例
-マスタ検索パターン
-転記マッピングシート
-集計パターン
-操作シート
-マスタシート
完成品
実際の業務ツール
-売上集計ツール
-出荷実績集計ツール
-CSV取込ツール
-請求書作成ツール
です。
実際の料理のように食べやすい工夫や、見た目の工夫もします。
生成AIの活用
生成AIはコードを書くことは得意です。
しかし、
「どんな部品を使うのか」
「どんな手順で処理するのか」
が整理されていないと、思った通りのコードにならないことがあります。
そこでVBAクッキングでは、
事前に生成AIへVBA部品辞書を読み込ませます。
すると生成AIは利用できる材料(部品)を理解した状態になります。
その上で、
「マスタ検索パターン」
「転記パターン」
などのレシピ(設計)を一緒に考えることで、より実践的な業務ツールを作りやすくなります。
<まとめ>
今回の記事では、
生成AIにコードを書かせることと、業務で使えるプログラムを作ることは別物である
というお話をしました。
私ははじめは、
「プログラミング=コードを書くこと」
だと思っていました。
しかし実際に業務で使うツールを作るようになって気づいたのは、
大切なのはコードを書くことよりも、先にレシピ(設計)を考えることだった
ということです。
ただし、設計といっても難しく考える必要はありません。
実際には、
- どのシートを使うのか
- どのデータを入力するのか
- どこへ出力するのか
- マスタを使うのか
- 転記するのか集計するのか
といった、よくあるパターンの組み合わせです。
そして私は、そのパターンを少しずつ整理しながら、再利用できるコードを部品化してきました。
次回は、その中でも特に実務で活躍している
「転記マッピングシートパターン」
を紹介します。
転記元や転記先が変わるたびにコードを修正するのではなく、
シート上の設定表を書き換えるだけで処理内容を変更できる仕組み
です。
生成AIとの相性も非常に良く、
「コードを書く」から
「設定を考える」
へ発想を変えるきっかけになると思います。
ぜひ楽しみにしていてください。
⇒次回記事











コメントを残す