ChatGPTなどの生成AIを使って、VBAを書くためのプロンプトキーワードフレーズ集

スポンサーリンク
AIを活用してVBAコードを書く若い男性のイラストと、コード生成の様子を表したモニター画面。ChatGPTによるプログラミング支援の雰囲気を表現 VBA・マクロ

AIにVBAコードを生成させる際は、目的や要件を具体的かつ簡潔にまとめるのがポイントです。以下に、よく使われるシチュエーション別の“お役立ちフレーズ”をまとめました。

スポンサーリンク

1. 基本操作・下準備

  • 「Excelの[シート名]シートを参照して、○○の処理をするVBAコードを書いて」
    • シート名を明示することで、AIが対象を特定しやすくなります。
  • 「セルA1に入力された値を使って、○○な処理をしてほしい」
    • どのセルを使い、どのように扱うかを具体的に示すことで、不要なコードが生成されにくくなります。
  • 「ブックを開いて、指定した範囲をコピーして別のブックに貼り付けるVBAを作って」
    • 複数ブック(ファイル間)での操作は頻出するため、明確に範囲指定やコピー先を伝えましょう。

2. データの抽出・加工

  • 「指定列の値が○○の場合のみ、別のシートに行ごと転記するコードを書いて」
    • 絞り込み条件(>=, <=, =など)やコピー範囲が何列かを具体的に伝えると、精度の高いコードが生成されやすいです。
  • 「A列の最終行までループして、○○という条件を満たす行の値を集計するVBAを作ってください」
    • ループ処理や条件分岐の明記が重要です。
  • 「シート1のデータを参照して集計し、シート2に結果を書き込む作業を自動化してほしい」
    • 入力シートと出力先シートをセットで指定しましょう。

3. エラー処理・例外対応

  • 「エラーが発生した場合はメッセージボックスを表示して処理を中断するコードを書いて」
    • On Error GoTo の活用やメッセージボックス表示に関する指示があると、AIはエラーハンドリング部分を自動的に生成しやすくなります。
  • 「実行前に対象のセルが空でないかチェックして、空ならば実行を中止するフローを追加して」
    • 処理フローの分岐(もし空だったら→中止)をはっきり書くことで、条件分岐を自動実装してくれます。

4. ループ・条件分岐

  • 「Do Whileループを使って○○を繰り返し処理するVBAを生成して」
    • 具体的に「For 〜 Nextではなく、Do While〜Loopで書いてほしい」などの書き方の指定をする。
  • 「If文をネストして、○○の場合は××、△△の場合は□□というように条件分岐を行うVBAを書いて」
    • ネスト(入れ子構造)や複数条件分岐をしてほしい場合は明示するとコードが正確になります。

5. ユーザーフォーム関連

  • 「ユーザーフォームを立ち上げ、テキストボックスに入力された文字列を指定セルに反映するVBAを作成して」
    • フォーム名やコントロール(テキストボックス、コンボボックスなど)の名前を具体的に書く。
  • 「ユーザーフォームを閉じるボタンを押したら、処理を終了するコードを追記してください」
    • フォームのイベントと連動した動作を指定しておく。

6. その他の便利フレーズ

  • 「既存のVBAコードを最適化(リファクタリング)して読みやすくしてほしい」
    • AIに既存コードを貼り付けて「もっと簡潔な書き方を提案して」と頼むと、推敲したコードが得られる可能性があります。
  • 「このコードの実行速度を上げるために、可能な箇所を最適化して」
    • 処理時間がネックの場合は、具体的なボトルネックを指摘しつつリクエストすると、より適切な提案が得られます。

おすすめの生成AIツール(リンクつき)

VBAやその他のプログラミング言語のコードを生成・補助してくれる代表的なAIツールを、リンクとともにご紹介します。いずれも特徴が異なるので、自分のスタイルに合ったものを選んでみてください。

  1. ChatGPT (OpenAI)
    • 特徴: 高い自然言語理解力により、VBAを含む各種プログラミング言語を柔軟に生成。日本語のサポートも比較的手厚い。
    • 使い方のポイント: 単純なコード生成だけでなく、文章整形やバグ修正の相談にも活用できます。
  2. GitHub Copilot
    • 特徴: Visual Studio Codeなどのエディタと連携してリアルタイムにコード補完を行う。
    • 使い方のポイント: 特にソースコードを書く場面で“あと一行”が思いつかないときに、画期的なコード補完候補を提示。プロジェクトのファイルや文脈を読み取り、高度な予測を行ってくれます。
  3. Bing Chat
    • 特徴: Microsoftの検索エンジンBingと連動し、情報検索しながらのコード生成が可能。
    • 使い方のポイント: VBAの公式リファレンスやフォーラムの情報にすぐアクセスしやすく、問題発生時に総合的な情報を得られます。
  4. Google Bard
    • 特徴: Google検索との高い親和性と多言語サポート。
    • 使い方のポイント: 最新の情報を取得しつつコード作成をしたい場合に便利。今後さらに機能拡充が期待される注目のAIツール。

使いこなしのヒント

  1. プロンプト(指示)の具体化
    • VBAで「何を」「どんな条件で」「どの範囲を」処理したいのか明記しましょう。
    • 環境やシート名、列名、セル範囲など細部を明確に書くほど、AIのコード生成精度が高まります。
  2. テストとデバッグの反復
    • 生成されたコードは必ずテストして動作確認を行います。
    • うまく動作しない場合は、エラー内容や意図する動作を再度AIに伝え、修正案をもらいましょう。
  3. セキュリティとライセンスへの配慮
    • 業務で使う機密情報をAIに入力する場合は、利用規約とセキュリティの観点に注意が必要です。
    • 生成されたコードのライセンスがどうなるか不確定な場合は、あらかじめ確認を行いましょう。
  4. 最適化依頼も積極的に
    • 「コードが動けばOK」ではなく、「可読性を上げて」「実行速度を上げて」「メンテナンス性を向上させて」といった追加要望を出すと、より良い結果を得られやすいです。

まとめ

  • プロンプト例を活用するメリット
    1. AIが意図を理解しやすい: ざっくりした指示では誤ったコードが出ることもありますが、キーワードを的確に盛り込むと精度アップが期待できます。
    2. 要望の優先度を明確に伝えられる: 「エラー処理を必須で入れて」「シート名を変数で指定して」など、事前に必須要素を指定することで、使えるコードがすぐ完成しやすいです。
    3. 使い回しが効く: 定型的な処理や、よくある場面のプロンプトをまとめておくと、何度も流用できます。
  • おすすめの生成AIをリンクつきで紹介: ChatGPT、GitHub Copilot、Bing Chat、Google Bardなど、それぞれの強みを見極めてうまく活用しましょう。

VBAを使う機会が多い方ほど、AIでのコード生成を上手に取り入れると作業効率が劇的に変わるはずです。日々のルーチンワークを省力化しつつ、クリエイティブな部分に時間を割けるようになれば、あなたの仕事や開発スタイルがより洗練されていくでしょう。


免責事項

  • 本記事で紹介したプロンプトやAIツールはあくまで一例であり、成果を保証するものではありません。
  • AIが生成したコードの正確性・動作は利用者のテストと確認が不可欠です。実際の導入に際しては、各サービスの利用規約やライセンスを必ずご確認ください。
  • VBAやExcelのバージョンによって挙動が異なる場合があります。最新環境や組織のポリシーに合わせて検証を行ったうえでご利用ください。

以上のポイントを押さえて、VBAのコード自動生成に役立つプロンプトフレーズ集と、信頼できるAIツールを活用してみてください。きっと、これまで以上にスムーズで効率的な開発ワークフローを築けることでしょう。

タイトルとURLをコピーしました