J. Copilot による VBA マクロの作成

使用するファイル:「マクロの練習」フォルダー「合否判定を行う.xlsm」

(vba15)
(vba15)

これからはマクロ作成でも Copilot のお世話になることが考えられるので、ここでは、具体的に Copilot で作るとどうなるのかを試してみます。

J-1. オリジナルの合否判定マクロ

  1. 保存されているブック「合否判定を行う.xslm」を開く
  1.  VBE を開き、コードを見る
(C2L10_06) プロジェクトエクスプローラーからコードウィンドウを表示する
(C2L10_06) プロジェクトエクスプローラーからコードウィンドウを表示する
  1.  合否判定を行うマクロを実行した結果
(C2L10_01) 合否判定マクロの実行結果表示
(C2L10_01) 合否判定マクロの実行結果表示
  1.  合否判定を行うマクロの変更

同じ作業をやってもらうためのマクロを、Copilot のサポートを得て作るとどうなるのかをためしてみた。 

 

オリジナルのマクロに、合格セルは緑色、不合格セルは黄色で塗りつぶす作業を追加してみた。

J-2. Copilot とのチャット内容を、メモ帳でまとめる

Copilot の「会話ボックス」内に依頼するチャットを直接入力することでも可だが、文字を変更する途中で「Enter(エンター)」キーを押すと、その段階での中途半端な内容で依頼が送られてしまい、会話がはじまってしまう。

慌てて「会話の中止」ボタンを押す羽目になってしまう。

 

そうしたことを避けるために、メモ帳で会話(依頼)内容を整えておくことにした。完成した文章をコピペで「会話ボックス」に入力すればよい。

会話入力未完で「送信」しないようにするには

なお、どうしても「会話ボックス」内で編集せざるを得ない時は、「Shift」キーを押しながら「Enter」キーを押すようにすれば、入力途中での「送信」事故を防ぐことはできる。

  1.  Windows アプリの「メモ帳」を起動する

Windows 11 の「メモ帳」アプリを使うが、実は以下のように困ったことがある。同時に改善策も記述する。

Windows 11 の「メモ帳」アプリの使いやすさを改善

(困った点)メモ帳起動時に以前開いていたメモ帳のタブが自動ででてくること。

タブがどんどん増えてきてわけがわからなくなるということにもなる。

 

(改善策) ① メモ帳を開いて「歯車」のマークをクリックして「設定」を開く

②「メモ帳の起動時」項で、「新しいセッションを開始し未保存の変更を破棄」を「オン」にする。

(memo01) メモ帳の使いやすさ改善
(memo01) メモ帳の使いやすさ改善
  1.  チャット(依頼)内容をメモ帳でまとめる
(h03) メモ帳でチャット内容をまとめる
(h03) メモ帳でチャット内容をまとめる

J-3.Copilot にて依頼内容を送信する

  1. 「Copilot」を起動する

Copilot の虹色のアイコンを、いずれかの方法でクリックして起動する。

 

  • タスクバーにピン留めされていれば、タスクバー上のアイコンをクリックする
  • アプリ一覧から「C」の項で Copilot のアイコンを見つけ、クリックする
  • Microsoft Edge ブラウザの Copilot アイコンをクリックする
(copilot00) Copilot を起動する
(copilot00) Copilot を起動する
  1.  前回の会話を続ける状態で Copliot が起動する

直前での会話内容があればそれが表示され、その会話を継続することができる。

ホームへ」をクリックすると、Copilot のホーム画面が表示される。

 

そこから、「履歴を表示」したり「新しいトピック」での会話を開始できる。

(copilot07) 前回の会話を継続できる状態で Copilot が起動する
(copilot07) 前回の会話を継続できる状態で Copilot が起動する
  1.  Copilot「ホーム」画面

「ホーム」画面では、新しい会話を開始できる。

「会話の履歴」を選択してこれまでのやり取りを表示できる。

(copilot08) ホーム画面では「履歴を表示」をクリックして会話履歴を選択できる
(copilot08) ホーム画面では「履歴を表示」をクリックして会話履歴を選択できる
  1.  Copilot「履歴」画面

「履歴」画面では、これまでの履歴が表示される。これまでの会話に関連付けての会話を行う場合は、履歴一覧から該当のアクティビティを選択する。

 

新たなテーマに切り換えるときは「新しいチャットを開始」をクリックする。

(copilot09) これまでの履歴が表示される。新しいテーマの場合は「新しいチャットを開始」をクリック
(copilot09) これまでの履歴が表示される。新しいテーマの場合は「新しいチャットを開始」をクリック
  1.  新しいテーマでの会話を入力する

先の「New Chat」、あるいは下図の「新しいトピック」をクリックする。

(copilot10) 新しいチャットを開始する
(copilot10) 新しいチャットを開始する
  1.  会話を入力して最後に「送信」をクリックする
(copilot11) メモ帳からのコピペで会話を入力したら最後に「送信」をクリックする
(copilot11) メモ帳からのコピペで会話を入力したら最後に「送信」をクリックする
  1.  Copilot からの返事では、まず送信した内容が表示される。
(copilot12) 返信では、まず問い合わせ(依頼)内容が表示される
(copilot12) 返信では、まず問い合わせ(依頼)内容が表示される
  1.  続いて VBA コードが表示される。「コピー」ボタンでコピーする。
(copilot13) 生成されたVBA コードが表示される。「コピー」ボタンでクリップボードにコピーする
(copilot13) 生成されたVBA コードが表示される。「コピー」ボタンでクリップボードにコピーする
(copilot14) 生成されたコードの後半部分
(copilot14) 生成されたコードの後半部分
  1.  日本語での返答をお願いしてみた。
(copilot15) 日本語での返答を求めてみた。
(copilot15) 日本語での返答を求めてみた。
  1.  マクロを試してみた結果のメッセージを送りましょう

次の「I-4.」「I-5.」で、マクロを試してみた結果、希望通りになっていれば、その旨メッセージを送りましょう。

 

エラーが出れば、エラーの内容をメッセージに入れて修正をお願いします。

 

J-4. 生成されたマクロコードを 「Module1」 に貼り付ける

マクロ生成を何度か試す場合に、マクロを保存するモジュールを「Module1」だけでなく、「Module2」とか「Modeule3」とかに分けて貼り付け保存し、おのおの結果を確認したり、コードの違いを確認したりすることができます。

  1.  「合否判定を行う.xlsm」ブックを開き、VBE を起動する
  1.  「Module1」を挿入する

オリジナルマクロは標準モジュールの「Sample」モジュールに残しておく。

 

Copilot が生成してくれたマクロを「Module1」に入れて、比較してみる。 

(h01)「Module1」を挿入する
(h01)「Module1」を挿入する
  1.  「Module1」のコードエリアで右クリックし「貼り付け」る
(h07) VBEのコードエリアで右クリックし「貼り付ける」を選択する
(h07) VBEのコードエリアで右クリックし「貼り付ける」を選択する
  1.  「Module1」のコードエリアにコードが「張り付」いた

マクロ名「合否判定 その2」が貼りつぃた。

(h08) VBA コードが張り付いた
(h08) VBA コードが張り付いた

J-5. マクロを実行する

  1.  「Module1」のコードエリアにマクロコードが「張り付」いた
  1.  「張り付」いたマクロ「合否判定その2」を実行する

Excel と VBE を並べて表示する

実行するサブプロシージャ内にカーソルを置く

「F5(実行)」を押して実行する

(h09) マクロを実行する
(h09) マクロを実行する

マクロの開始メッセージに「はい」で答える

(h11) 開始確認メッセージに「はい」で答える
(h11) 開始確認メッセージに「はい」で答える

結果を確認し、終了メッセージに「はい」で答える。

(h10) 結果を確認し、終了メッセージに「はい」で答える
(h10) 結果を確認し、終了メッセージに「はい」で答える

J-6. マクロの上書き保存、その後 VBE を閉じ、Excel を閉じる

マクロは希望通りの作業をしてくれたので、それを保存し、VBEを閉じる。

(h12) マクロを保存し、VBE と Excel を閉じる
(h12) マクロを保存し、VBE と Excel を閉じる

★ 再度マクロを実行する時は、B 列を削除して始めよう。

(h13)
(h13)