ChatGPTにコードを頼んでも、一発で動かないことは多いですよね。

そんなときにどう言い直せばいいのか。

この回では、正しいVBAのコードが出るまでの7往復をそのまま紹介します。

あわせて、HTML・CSSの勉強を手伝ってくれるGPTsの使い方も見ていきます。

コードの修正依頼が苦手な方は、ぜひ読んで下さい!


一発で動かないのは、普通のこと

ここまで紹介してきたVBAのソースコードは、すべてChatGPTに出してもらったものです。

ただ、1回のやり取りで正しいコードが出ないことも、多いです。

簡単なコードなら1回で出ますが、少し複雑になると、1回では難しくなります。

そこで、正しいソースコードを出してもらうまでの会話の流れを、実際のやり取りをもとに解説します。

例は、列の幅を特定のパターンにするVBAです。

途中で紹介するコードは、誤ったものです。

あらかじめご了承下さい。


7回のやり取り

1回目は、最初のコードを動かすと、A列が50ポイント(405ピクセル)、B列が20ポイント(165ピクセル)という結果になりました。

単位がポイントとピクセルで食い違っているうえ、A列のほうが広くなっています。


2回目は、A列とB列の幅が逆になっていると伝えると、A列が狭く、B列が広くなりました。

ただ、幅が20ポイントと50ポイントのままだったので、ポイントではなくピクセルで出してもらうことにしました。


3回目は、ポイントで計算した幅をピクセルに直してもらったところ、今度は偶数列の幅が0になりました。

ChatGPTのコードは、必ず実行して、きちんと動くかを確かめて下さい。

ただ、これはGPT-3.5での結果なので、GPT-4ならもう少し精度が上がるかもしれません。


4回目は、エラーが出たので、ChatGPTにコードを出し直してもらいます。

5回目は、エラーメッセージをそのまま伝えて修正してもらうと、今度は別のエラーが出ました。

6回目は、出たエラーを報告したのに、またもや別のエラーが出てしまいました。


7回目で、質問を変えて解決しました。

3回も別のエラーが出たので、質問の仕方を変えたのです。

幅をピクセルで指定すると失敗することがよく分かったので、最初からポイントで指定することにしました。

Excelで列の幅を調整するときには、ポイントとピクセルの両方が表示されます。

20ピクセルと50ピクセルをポイントに換算して、その数値で指示しました。

ChatGPTの精度は上がっていますが、単純でないコードの場合は、何度かやり取りが必要です。


このやり取りから分かること

- 結果やエラーメッセージを、そのままChatGPTに伝えて、修正してもらう


- 同じ方法でエラーが続くなら、質問の仕方を変える


- 動くコードが出たとしても、予期せぬエラーに対応できるかをしっかり考える


HTML・CSSの勉強を手伝ってもらう

コーディングを手伝ってくれるGPTs「Code Tutor」を使ってみましょう(原稿を書いた当時の話です。カスタムGPTsの終了予定は2026年12月)。

Web制作にチャレンジしたい方が、HTMLとCSSを勉強している場面を想定しました。


勉強のコツを聞く

Webデザインの仕事を受注したくて、HTML&CSSを勉強しています。

独学だと覚えることが多く、なかなか進みません。

HTMLとCSSを学ぶコツを教えてください!

【難しく感じていること】CSSのFlexboxの書き方/HTMLの入れ子構造/marginとpaddingの違い


難しいと感じていることを、具体的に3つ挙げています。

答えは、それぞれに的確でした。

  • Flexbox:レイアウトを柔軟に扱う強力なツール。flex-direction、justify-content、align-itemsなどの基本プロパティの役割を理解して、実際に動かしてみる
  • HTMLの入れ子構造:小さなページを作り、段階的に要素を追加する。たとえば、divの中にpを入れて、要素がどう作用し合うかを見る
  • marginとpadding:marginは要素の外側の空間(他の要素との距離)で、paddingは内側の空間(境界とコンテンツの間の距離)。実際に適用して、効果を観察する

コードを書いて試すこと、具体的な例や質問を共有することを勧めて、質問に対して的確にアドバイスしてくれました。


表にまとめてもらう

学習者が難しく感じるFlexboxを、もう少し深掘りします。

「Flexboxのプロパティを復習したいので、基本のプロパティを、分かりやすい表にまとめてください。見出しは、プロパティ名/機能/備考の3つにしてください」

と頼みました。

表題を指定すると、分かりやすい表になります。

続けて、プロパティごとの値(flex-directionならrowやrow-reverseなど)も、「属性名/機能/備考」の表にしてもらいました。

かなり分かりやすくなりました。


イメージ図は出せなかった

文章だけでは分かりにくいので、各属性を設定したときの動きを、イメージ図にできたら便利です。

そこで、「表に『イメージ図』の列を足して、図を追加することはできますか?」

と頼みました。

答えは、「画像を直接作ることはできませんが、代わりに、各属性の様子を思い浮かべられるような説明を加えます」というものでした。

残念ながら、イメージ図は出してもらえませんでした。

やはり、AIだけで学ぶのは難しいようです。

テキストや動画を学習の中心にして、ChatGPTは補助として使うのがベストかもしれません。

表づくりのように、整理や復習を手伝ってもらう使い方は、向いています。