1. システムとオフィスの融合
  2. media
  3. Microsoft 365
  4. Copilot for Microsoft365でExcelのマクロ作成を効率化しよう

QESブログ

Copilot for Microsoft365でExcelのマクロ作成を効率化しよう

  • LINEで送る
  • このエントリーをはてなブックマークに追加
システムソリューション営業本部の高山です。
今回はExcelのCopilot機能について紹介いたします。

ExcelのMicrosoft Copilotを使用すると数式列の候補を生成したり、グラフやピボットテーブルで分析情報を表示するなどExcel業務をより簡単に活用することができます。
そんなExcel業務の中でExcel VBA(Visual Basic for Applications)を利用した手作業の削減と業務効率化を実現している企業も多いと思います。
ただし、VBAはソースコードを記述する必要があるため、知識が無いと運用に取り込むことが難しいという問題があります。
そのため、Copilot機能を利用してVBAのソースコードを自動生成し、簡単に動作させることが出来るか検証したいと思います。
※ ExcelのCopilot機能は2024/2/27時点ではプレビュー機能です。

ExcelのCopilot機能を使用するうえでの前提条件について

Excelファイルの保存先

以下赤枠の通り、Copilot for Microsoft365のライセンスが有効化されているユーザーがExcelを開くとCopilotのメニューが表示されます。
ただし、以下画像ではCopilotのメニューがグレーアウトし使用することができません。
Copilot for Microsoft365_Excel_01.png
原因は画像内のメッセージ通りPCのローカル上では無く、OneDriveまたは、SharePointに保存されているファイルのみ利用することができます。
そのため、以下画像の通りOneDrive上にExcelファイルを保存します。
※ 今回はVBAマクロを動作させるため、マクロ有効ブック(xlsm)形式で保存します。
Copilot for Microsoft365_Excel_02.png

Copilotでサポートを受ける対象

Copilotでサポートを受けることが可能なExcelのオブジェクトはテーブルが対象です。
Copilot for Microsoft365_Excel_03.png
そのため、2009年の国別人口・面積・人口密度一覧表(出典:Wikipedia)を記載したテーブル(表)を用意し、本テーブルをマウスで選択したうえで、Copilotのサポートを受けたいと思います。
Copilot for Microsoft365_Excel_06.png

Excel VBAコードの自動生成

Copilotを使用する準備が整ったので、実際に利用したいと思います。
今回は検証として簡単なプログラムを生成します。
期待する動作としては、表の上から「国名」をチェックし、"日本"だった場合は「人口」をメッセージボックスで表示する内容です。
Copilot for Microsoft365_Excel_11.png
では、Copilotに指示してみましょう。
指示するのは、以下内容です。

国名が日本だった場合にメッセージボックスで人口を表示するVBAコードを書いて


Copilot for Microsoft365_Excel_04.png

指示した結果、ソースコードが案内されたので実際に動かしてみましたが、メッセージボックスは表示されませんでした。。。
これは、セル指定が数値(Rows.Count,1)で指定されていますが「国名」はBセル、すなわち2番目であるため「国名」の値が取得できなかったことが原因となります。
Copilot for Microsoft365_Excel_05.png

うーん、少し残念ですね。
もう少し具体的に指示をする必要がありそうです。
では、具体性を出すためにテーブル名を指定して指示してみます。

テーブル1の国名が日本だった場合にメッセージボックスで人口を表示するVBAコードを書いて

Copilot for Microsoft365_Excel_08.png
指示した結果、別のソースコードが案内されました。
今回は"tbl=テーブルオブジェクト"を使用し、テーブルの列が1番目(tbl.DataBodyRange(i,1))が指定できています。
Copilot for Microsoft365_Excel_09.png
では、実際に動かしてみましょう。
Copilot for Microsoft365_Excel_10.png
無事、メッセージボックスに"日本"の人口が表示されました!
指示の仕方にコツがいりますが、自動生成されるソースコードとしては精度は高いと思います。

まとめ

いかがでしたでしょうか、本機能を使用すれば「やりたいことが分かるのにソースコードが書けない!!」という方が簡単にVBAのマクロを作成することが出来るので、業務を効率化することができます。
また、ChatGPTでもソースコードの生成は可能ですが、Excelシート内のテーブルや記載内容が考慮されたソースコードが生成される部分はとても優れていると感じました。

次回はWEB会議(Microsoft Teams)とCopilotの機能について紹介しようと思います。

※このブログで参照されている、Microsoft、Windows、Microsoft Azure、その他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

お気軽にお問い合わせください。

ページのトップへ