伊田生活ブログのロゴ
HOME  >  勉強
カテゴリー : 勉強 - メモ
•生成AI •VBA •Copilot •Excel •作業効率化

AIに書いてもらったコードで文字を太字にした話[プロンプト文例]

公開日:

2025年4月11日

英語学習において、自分用の単語帳を作ることがあると思います。私は、早ければ今年中に英語の試験を受けてみようと思っていて、自分用のボキャブラリー表を Excel で作成しています。その表は、B列に英単語、C列に言葉の意味、D列に例文が記載されています。ここで、例文の中のターゲットとなる英単語だけを太字(ボールド)にしようと思いました。ターゲットの英語を文の中で強調表示して、目立たせるのが目的です。(なお、ここでは2つ以上の単語から構成されている言葉も、複合語として単語の一種とみなします。例えば「crude oil」は2つの単語から構成されますが、まとめて一つの単語として扱うこととします。)手作業で太字にしようと最初は思いました。しかし、マクロ(VBA)を使えば早いのではないかと考えました。VBAを自分で書くのは大変なので、生成AIの力を借りました。以下は、Microsoft Copilot に送ったプロンプトです。

エクセルのB列には英単語が、D列にはB列の単語を使用した例文が記載されています。VBAで、D列の英文の中の「B列の単語」を太字に変換するコードを書いてください。大文字と小文字は区別しないものとします。

上記のプロンプトに対して、Copilot はコードを書いてくれました。(この記事ではコードは省略します。)そのコードを実行してみたところ、おおむね期待通りの動作をしましたが、一部うまくいきませんでした。うまくいかなかったのは、例えば以下のようなことです。

(1) 動詞が活用されて形が変わっている場合、変換されない。(例:wind が過去形で wound になっている場合。)

(2) 名詞が複数形になって形が変わっている場合、変換されない。(例:impurity が複数形で impurities になっている場合。)

(3) 別の行の英単語まで、太字に変換してしまう。(例:160行目のB列に「impurity」という単語が登録されていると、161行目以降のD列にある例文中の「impurity」も、意図せず太字に変換されてしまう。)

上記(3) の問題については、以下のプロンプトを送ってコードを修正してもらいました。

以下のコードは、おおむね問題なく動作しますが、別の行の英単語までも変換してしまうという問題があります。別の行の英単語は、変換の対象外としてください。
(※ここにコードをペーストする)

上記のプロンプトを送ったところ、Copilot はコードを書いてくれました。そのコードを試したところ、(3)の問題については解決しました。

まとめ:
Copilot と VBA を利用して、ボキャブラリー表の特定の英単語を太字にするという作業を効率化しました。一部、手作業で修正が必要でしたが、全て手作業でやるよりは、だいぶ早く作業を終えられたと感じます。 このように、生成AIにコードを書いてもらうという方法は、いろんな作業が早く効率的に実施できるようになるので、おすすめです。英語の勉強だけでなく、職場における業務効率化や業務改善などにも利用できる方法だと思います。