ChatGPT関数でエラーとなった時の再リクエストを効率的に行う

ExcelVBA

こちらのエントリー記事で紹介したChatGPT関数、

Excelの計算方法を「手動」にして、F9キー押下などで再計算して使用するのがよいのですが、

ファイル>オプション>数式から、計算方法の設定で「手動」を選択。その後は再計算する際にF9キーを押下する。

次のように、いつの間にか結果がエラーがとなっていることがあります。

これは、ChatGPTの利用制限に達していると思われ、VBEのイミディエイトウィンドウに出力しているレスポンステキスト全文を見てみましょう。

なるほど、「1分に3回までなので、20秒ほど経ってからトライしてね」となっています。エラーとなっているセルを選択、F2キーで編集状態にしてEnterキーを押すと、選択しているセルが再計算されて再リクエストすることができるのですが、エラーとなっているセルを一つずつ再計算させるのは面倒ですよね。そこで再リクエストを自動化するマクロの登場です。

待機時間は冒頭で指定してください。

エラーとなっているワークシートをアクティブにした状態で、このマクロを実行すると、エラーとなっているセルを順番に再リクエストしてくれます。待機しているループの中でDoEvents関数を入れてOSに制御を渡しているので、待っている間にExcel以外のPC作業を行うこともできます。実行した結果は次の通り。

なかなかにドラクエらしいセリフを言ってくれていますね。

もう一つマクロをご紹介します。追加や修正した質問のみリクエスト、あるいは回答がイマイチなので再度リクエストしたい、のような場合に使えます。選択しているセルのみ再リクエストを行うマクロで、連続リクエストでエラーとなった場合のみ待機することで、最短時間で処理が終了するようにしています。

もともとF9で再計算、再リクエストできるのですが、それだと全てのセルを再リクエストしてしまいますので、特定のセルだけ再リクエストしたい時は、複数セルやセル範囲を選択して、本マクロを実行、再リクエストが完了するまでトイレに行くなり他のPC作業をして待ち時間を効率的に使うのがよいと思います。

それでは良いVBAライフを。

コメント

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