生成AI活用研究<br />実務に活かすAIコードとVBA:ビジネス現場の自動化基礎講座
生成AI活用研究<br />実務に活かすAIコードとVBA:ビジネス現場の自動化基礎講座

生成AI活用研究実務に活かすAIコードとVBA:ビジネス現場の自動化基礎講座

目次 はじめに 第1章:なぜAI時代にVBAの基本が必要なのか この章のまとめ 第2章:AI生成コードを「動かす」VBA実践の基本 2-1.VBE(VisualBasicEditor)の基本操作 2-2.コードの実行方法 2-3.最低限のコード構造とキーワードの認識 2-4.デバッグとエラーの基本的な見方 この章の…

しかし、多くのビジネスパーソンが日常的に利用しているMicrosoft Officeアプリケーション(Excel, Word, Outlookなど)を使った定型業務の細やかな自動化や、既存のOffice資産を活用する場面では、今なおVBA(Visual Basic for Applications)が最も直接的で強力な手段となることが多々あります。そして、AIが生成したVBAコードを実際に業務で活用し、継続的に利用していくためには、コードを入手するだけでは不十分です。コードを実行し、検証し、保守していくための実践的な知識が必要です。

  • ChatGPTなどの生成AIから、目的に応じたVBAコードを得るためのプロンプトを作成できるようになる
  • 得られたコードを実際のOffice環境(VBE)で実行・検証・修正できるようになる
  • 日々の業務に応じてコードの一部を自力で調整・保守できるようになる
  • AI活用における基本的な注意点や、VBAのその先にある自動化の選択肢について知ることができる
第1章:なぜAI時代にVBAの基本が必要なのか
  • Officeとの深い連携: VBAはOfficeに組み込まれた言語であり、Excelのセル、Wordの段落、Outlookのメールアイテムなど、Office独自の様々な要素(オブジェクト)を直接的かつ細かく制御できます。これは他のツールでは難しい場合や、複雑な設定が必要な場合があります。
  • 既存資産の活用: 多くの職場では、VBAマクロが組み込まれたExcelファイルなどが長年業務を支えています。これらの既存資産をメンテナンスしたり、機能を追加したりするには、VBAの知識が不可欠です。実際、社内には数えきれないほどのVBAマクロ付きファイルが存在し、それらが日々の業務を下支えしています。
  • 導入の手軽さ: Officeがインストールされていれば、特別なツールを導入したり、IT部門に申請したりする手間なくVBAコードを記述・実行できます。特に新しいソフトウェアの導入に厳しい制限がある企業では、この点が大きな利点となります。
  • セキュリティと互換性の確保: 社内セキュリティポリシーが厳しい環境では、新たなツールの導入に制限がかかることがあります。VBAはOfficeの一部なので、通常のOffice利用と同じセキュリティレベルで利用可能です。また、古いバージョンのOfficeとの互換性も比較的高く維持されています。
この章のまとめ
  • VBAはOfficeアプリケーションと密接に連携し、既存資産の活用や導入の手軽さから、AI時代でもOffice自動化の有力な選択肢です。
  • AIはVBAコードを生成できますが、それを実際にOffice上で「動かす」には、VBAの実行環境や基本的な扱い方を知っている必要があります。
  • AIによるコード生成から実行、保守に至るプロセスにおいて、人間の理解と関与は依然として重要です。
第2章:AI生成コードを「動かす」VBA実践の基本 AIを活用した自動化は、以下のステップで進みます。この章では、特にステップ3と4に焦点を当てて解説します。 1. AIにプロンプト 2. VBAコード生成 3. VBEに貼り付け AIコードをOffice上で「動かし」「活用する」ためのステップ (ステップ1は第3章、ステップ5は第5章で解説) AIコードをOffice上で「動かし」「活用する」ために、最低限押さえておくべき『基本』は以下の点です: 2-1. VBE(Visual Basic Editor)の基本操作

AIが生成したVBAコードは、Officeアプリケーションに付属するVBEという専用のウィンドウに記述・管理します。「開発」タブの表示方法、VBEの起動(ショートカットキー Alt + F11 が便利です)、コードを貼り付ける「標準モジュール」の作成、そしてコードを記述する「コードウィンドウ」の使い方を知っている必要があります。AIはコードのテキストはくれますが、それをVBEのどこに貼り付け、どう保存すればOfficeで使えるようになるかまでは教えてくれません。

2-2. コードの実行方法

VBEにコードを貼り付けたら、それを実行する必要があります。VBEからの実行方法(緑色の実行ボタンや F5 キー)だけでなく、Excelシート上に実行ボタン(フォームコントロールなど)を配置してクリックで実行する方法などを知っていると、AIが生成したコードをすぐに試したり、繰り返し実行したりできます。

2-3. 最低限のコード構造とキーワードの認識
  • Sub マクロ名() ~ End Sub: 自動実行できる一つの処理のまとまり。
  • Range("A1") や Cells(1, 1): Excelの特定のセルを指す記述。
  • For ~ Next や Do While ~ Loop: 同じ処理を繰り返す構文。
  • If ~ Then ~ End If: 条件によって処理を変える構文。
  • With ~ End With: 特定のオブジェクトに対して複数の操作をまとめて行う構文。
  • Dim 変数名 As データ型: 変数を宣言する構文。
2-4. デバッグとエラーの基本的な見方:

残念ながら、AIが生成したコードがあなたのOffice環境やデータで常に完璧に動作するとは限りません。エラーが発生することはよくあります。エラーメッセージが出た際に、それが何を意味しているのか(例えば「'1004' エラー」はセルや範囲の指定に関する間違いの可能性が高いなど)の基本的な知識があると、落ち着いて対処できます。AIにエラーの原因や修正方法を尋ねる際にも、エラーメッセージを正確に伝えることが重要です。 VBEに備わっているデバッグ機能(F8 キーによるステップ実行や、カーソルを合わせて変数の値を確認する機能)を最低限使えると、AI任せにせず自分でコードの動きを追いかけ、問題箇所を特定する力がつき、より効率的にAIからの修正案を検証できるようになります。

この章のまとめ
  • AIが生成したVBAコードをOfficeで「動かす」ためには、VBEの基本操作、コードの実行方法、最低限の構文理解、そしてデバッグの基本が不可欠です。
  • VBEはコードの記述・実行・デバッグを行う場所であり、その操作はAIコード活用の中核となります。
  • エラー発生時にデバッグ(F8 キーなど)を使って原因を特定するスキルは、AIからの修正案を検証するためにも重要です。
第3章:AI活用を加速させるプロンプトの基本 3-1. なぜプロンプトの質が重要か 3-2. プロンプトの質はVBAの『基本』知識でさらに高まる そして、このプロンプトの質を高める上で、第2章で解説したVBAの『基本』知識が非常に役に立ちます。
  • 正確な用語で指示できる: VBAの基本的なオブジェクト名(Workbook, Worksheet, Range など)や操作名(Copy, Paste, Value, ClearContents など)を知っていると、 「Excelのあの場所の、あのデータを、こうして」 という曖昧な指示ではなく、 「Sheet1のRange("A1:C10")のValueを、Sheet2のRange("A1")にPasteSpecial xlPasteValuesで貼り付けてください」 のように、AIが理解しやすい正確な言葉で指示を出せます。
  • 処理の構造を考慮できる: VBAの基本的な構文(繰り返しや条件分岐)を知っていると、 「A列のデータがある限り処理を繰り返して」「もしB列が空白ならスキップして」 のように、AIがコードを組み立てる上での構造的なヒントを盛り込むことができます。
  • 必要な条件や例外を予測できる: VBAコードがエラーになりやすいパターン(シートが存在しない、参照セルが空白、データ型が違うなど)を知っていると、「もし○○の場合はエラーにせず、ログを出力してください」「××というデータ形式にも対応できるようにしてください」のように、実務で起こりうる例外的な状況への対応を最初からプロンプトに含めることができます。
3-3. 効果的なVBAプロンプト事例:ビフォーアフター プロンプトの質 よくあるプロンプト(Before) 改善されたプロンプト(After) ポイント 操作と対象を明確に データを整理するコード作って Excelの「Sheet1」から「Sheet2」へ、A列からC列のデータを最終行までコピーするVBAコードを生成してください。コピー先の開始セルはSheet2のA1セルとします。日本語シート名でも動作するようにしてください。 Beforeの問題点: 「データを整理」という言葉はAIにとって抽象的すぎます。AIは何をすれば良いか判断できません。<br>Afterの改善点: 具体的に「どのファイル/シートの」「どの範囲の」「どのような操作(コピー)」を「どこへ」行うか、さらに「最終行まで」「日本語シート名対応」といった条件まで明確にしています。 条件分岐の具体化 条件によって処理を分けるVBA Excelの「データ」シートのC列の値を上から順に見ていき、C列の値が"OK"であればその行(A列からD列まで)を「完了データ」シートにコピーし、"NG"であればその行を削除するVBAコードを教えてください。 Beforeの問題点: どんな「条件」で、何を「処理を分ける」のか全く不明です。<br>Afterの改善点: 「どのシートの」「どの列の」「どのような条件(C列の値がOK/NG)」に基づき、「どの行のどの範囲を」「どうする(コピー/削除)」といった具体的な判断基準と処理内容を明確に指示しています。 エラー回避を指定 エラーが出ないファイルを開くVBAを作ってください ファイルを開くVBAコードです。指定したファイル名(変数 filePath で指定)のファイルが存在しない場合でもエラーで止まらず、ユーザーにファイルが見つからない旨のメッセージボックスを表示して処理を終了するようにしてください。 Beforeの問題点: 「エラーが出ない」という要望は分かりますが、どのようなエラー(ファイルが見つからない?ファイルが壊れている?)を想定しているのか、エラー時にプログラムがどう振る舞うべきか(何もしない?メッセージを出す?)が不明確です。<br>Afterの改善点: 想定されるエラーとその時の具体的な挙動を明確に指示しています。 保守性向上指定 分かりやすいVBAコードを作ってください 生成するVBAコードには、処理の目的や各主要ステップがわかるようにコメントを丁寧に含めてください。また、変数名を分かりやすくし、後から見た人がコードの意図を理解しやすいように工夫してください。 Beforeの問題点: 「分かりやすい」という言葉は主観的で曖昧です。<br>Afterの改善点: 具体的に何が「分かりやすさ」に繋がるか(コメント、変数名、構成)を指定することで、AIはそれに応じたコードを生成しやすくなります。 データ構造伝達 売上を集計するVBAを作って A列には日付(YYYY/MM/DD形式)、B列には商品コード(数字5桁)、C列には数量(整数)が入力されたデータを処理します。日付ごとに商品コードの売上数量をまとめて集計し、結果を新しいシートに出力するVBAコードを作成してください。 Beforeの問題点: どんな「売上データ」なのか、どのような「集計」なのか、出力形式は何か、何も分かりません。<br>Afterの改善点: 実際のデータ構造(列、データ型、フォーマット)を具体的に伝えることで、AIはより実践的でエラーになりにくいコードを生成できます。集計方法と出力形式も明確です。 この章のまとめ
  • AIから実務で「使える」VBAコードを得るには、具体的な指示を出すプロンプトの質が極めて重要です。
  • プロンプトの質は、VBAの基本的な用語や構造を知っていると、より正確で具体的な指示を出せるため向上します。
  • 操作対象、条件、エラー処理、コードの形式など、必要な情報を網羅的に伝えることで、AIはより質の高いコードを生成できます。
第4章:『基本』でAIコードを「実務対応」させる力

AIが生成したVBAコードに、第2章で学んだVBA実践の『基本』(VBE操作、実行、デバッグなど)と、第3章で学んだ効果的なプロンプト作成スキル・VBA基本知識の連携を組み合わせることで、あなたは単にコードを受け取る側から、それをあなたの複雑な実務に合わせて「使える」コードへと育て上げる力が身につきます。そして、この過程で培われる能力は、自動化の範囲を超えてあなたのビジネススキル全体を向上させます。

4-1. 実務に合わせたAIコードの調整と発展
  • エラーが出たら、デバッグ機能(F8 実行など)を使ってトラブルを解決し、問題箇所を特定する。
  • 問題がセルの参照方法なら、Range や Cells の記述を見直す。
  • 特定の条件で処理を分ける必要があれば、If 文を適切に追加する。
  • データの最後まで処理を繰り返したいなら、For や Do While ループの条件を確認・修正する。
4-2. AIとの対話による段階的コード改善 4-3. AIコードの実務適用で得られる汎用スキル

この 「動かない原因を論理的に特定し、解決策を考え、コードとして実現する」 というプロセスは、まさに 論理的思考力と問題解決能力 を鍛える実践的なトレーニングです。AIが生成したコードという「材料」を、あなたの手で実務に耐えうる「道具」に仕上げる過程で、これらの汎用的なビジネススキルが自然と向上していくのです。AIは素晴らしいアシスタントですが、実務で本当に役立つ自動化を実現するには、コードの意図を理解し、状況に合わせて柔軟に手直しできる人間の力が必要です。『基本』は、この「手直しできる力」をあなたに与え、AIコードという材料を最大限に活かすための基盤となります。

この章のまとめ
  • AIが生成する一般的なコードを、実務に即した「使える」コードにするには、VBAの『基本』による手動での調整・修正が不可欠です。
  • エラー解決やコード修正の過程で、論理的思考力や問題解決能力といった汎用的なスキルが向上します。
  • AIとの対話を繰り返しながら、コードを段階的に改善していくアプローチが効果的です。
第5章:AIとVBA活用をさらに広げるために知っておくべきこと AIを活用したVBAによる業務自動化は非常に強力ですが、その実践をさらに深め、自動化の範囲を広げていく上で、いくつか知っておくべきことを簡単に説明しておきます。 5-1. 作ったコードを「資産」にするために

AIが生成したコードは、一度きりの使い捨てではありません。日々の業務で繰り返し実行され、業務の変化に合わせて修正したり、再利用したりする「資産」となり得ます。この資産価値を高めるためには、以下の点を意識しましょう。

  • 保守性の重要性: 後々の修正や再利用のために、コードは読みやすくあるべきです。AIに生成させる段階で「コメント付きで」「変数名を分かりやすく」「処理を分割して」といった指示を出すことが非常に有効です(第3章参照)。
  • コード管理の基本: 複数のVBAファイルを作成・修正していくと、どれが最新版か分からなくなりがちです。ファイル名に日付やバージョンを含める、コード内に簡単な改訂履歴をコメントで残すといった工夫をするだけで、管理が楽になります。
  • 保守作業へのAI活用: 既存のVBAコードをAIに渡して、コメント追加、変数名改善、処理の整理といったリファクタリングの提案を依頼することも可能です。
5-2. AI活用で注意すべきこと
  • セキュリティポリシーと機密情報: 生成AIに業務用のコードや業務ロジックを入力する際、それが機密情報や個人情報を含む場合は情報漏洩リスクを伴います。多くの企業では外部AIサービスの利用に制限があります。業務情報を特定されないよう抽象化して入力する、企業の利用ルールを確認といった対応が必要です。
  • 生成コードの知的財産権と利用規約: 生成AIが出力するコードの著作権や利用規約は、サービスによって異なります。多くの場合は商用利用可能ですが、利用規約を確認し、特にオープンソース由来のコード断片が含まれていないかなど、内容を精査・修正することが法的なリスクを避ける上で重要です。
5-3. VBAの限界と広がる自動化の世界
  • VBAの限界: Office外のアプリケーションとの高度な連携、Webサイトの操作、クラウドサービスとの直接連携などはVBA単体では難しい場合があります。
  • 代替手段と次のステップ: VBAで自動化の基礎を学んだ後、より高度なニーズに対しては、ノーコードでクラウド連携に強いPower Automateや、より汎用的なプログラミング言語であるPython(特にExcel操作ライブラリ)といったツールも有効な選択肢となります。VBAで培った自動化の考え方は、これらのツールを学ぶ上でも必ず役立ちます。
この章のまとめ
  • AIが生成したコードは業務を支える「資産」となり得るため、コメント追加や分かりやすい変数名を使うなど、保守性を意識した作成・管理が重要です。AIにこれを指示することも可能です。
  • AI活用時には、機密情報の漏洩リスクや生成コードの利用規約・知財に関する注意が必要です。
  • VBAにはOffice連携に特化しているなどの限界もありますが、Power AutomateやPythonといった代替ツールへのステップアップの基礎としてVBAは有効です。
結論:AI時代の自動化は、『基本』という実践力で加速し、資産となる 誰でも始められる、AIとVBAによる自動化への道
  • AIにVBAコードを生成してもらうための効果的なプロンプト作成スキル
  • 生成されたコードをOffice環境で実行するための『基本』
  • エラーや問題に対処するための基本的なデバッグ知識
  • コードを実務に合わせて調整・改良し、資産として管理する実践力
  • AI活用の注意点を理解し、必要に応じて他の自動化ツールも検討する視点
  • これらは特別な才能や長期間の学習を必要とせず、実践を通じて比較的短期間で身につけることができます。
業務自動化がもたらす、より創造的な未来 あなたの一歩が、組織全体を変える可能性 ※この記事の作成には生成AI(ChatGPTとGemini)を使用しています。 同じテーマ「生成AI活用研究」の記事 新着記事 NEW ・・・新着記事一覧を見る アクセスランキング ・・・ ランキング一覧を見る このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。

記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。 掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。 本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。 This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.