日々の業務に欠かせないExcel。ITエンジニアの私も仕様書やエビデンス等々で毎日必ず触っているExcel。ふっとこんなことを思ったことはありませんか?
「自動化はしたいけどマクロを考えるのもしんどい」
「そもそもExcelマクロの使い方自体知らない!」
有効化の方法や使い方については以下記事を参考にしてみてください。
Bing Chat(ChatGPT4)でプログラミング生成を試してみた
Copilot(ChatGTP)で複数CSVファイル取込用のExcelマクロを簡単作成!
Copilot(ChatGPT)にExcelマクロの実行までの流れを聞いてみた
Excelでマクロを実行する方法を教えて
プログラム上で実行する場合:
Excelに付属しているVBE(Visual Basic Editor)を使います。Excelファイルを開き、Alt+F11でVBEが開きます。プログラム上の Sub meisai から End Sub までの間にカーソルを置き、F5を押すと実行できます。Excel上で実行する場合:
ExcelでAlt+F8を押してください。meisai というマクロが選択されていることを確認し、Enterキーまたは 実行 をクリックすると、マクロが実行されます。ショートカットキーで実行する場合:
特定のキーの組み合わせ、つまり、ショートカットキーで、マクロを実行することもできます。ExcelでAlt+F8を押し、今度は、 オプション をクリックします。ここでショートカットキーを設定できます。
ボタンを作成して実行する場合:
Excelのオプション(Alt、T、Oを順番に押す)で、 リボンのユーザー設定 の右側の 開発 にチェックを入れます。設定すると、 開発 というタブが表示されるので、 挿入 → フォームコントロール の左上のボタンをクリックします。そのままカーソルをExcelのセル上に持ってくると、カーソルが+字にかわるので、マウスでドラッグしてボタンを描いてください。
注意点として、マクロはCtrl+Z(元に戻す)ができません。実行前に上書き保存(Ctrl+S)をするのが無難です。また、マクロを実行して止まらない(いつまでたっても完了しない)場合は、ESCキーを押すか、Ctrl+Shift+ESCを押し、Excelを強制終了するしかありません。これらの手順を試す前に、必ず重要なデータのバックアップを取ってください。
マクロを開発する上で足りない情報があったので事前準備についても聞いてみることにしました。
Copilot(ChatGPT)にExcelマクロ作成の事前準備を聞いてみた
マクロ実行する際の事前準備はある?
Excelでマクロを実行する前に、以下の事前準備が必要です。開発タブの表示:
Excelのリボンに「開発」タブを追加します。このタブには、マクロを開発するために必要なアイコンが並んでいます。Excelの「ファイル」から「オプション」を選択し、「リボンのユーザー設定」で「開発」にチェックを入れます。VBAの設定:
VBA(Visual Basic Editor)を起動し、必要な設定変更を行います。
セキュリティ設定の確認:
マクロが実行できる環境にするために、Excelのセキュリティ設定を確認します。
以上の手順を踏むことで、Excelでマクロをスムーズに実行するための環境を整えることができます。ただし、マクロの実行は元に戻すことができないため、実行前にデータのバックアップを取ることをお勧めします1。また、マクロの実行中に問題が発生した場合は、ESCキーを押すか、Ctrl+Shift+ESCを押してExcelを強制終了することができます1。これらの手順を試す前に、必ず重要なデータのバックアップを取ってください。
Copilot(ChatGPT)のExcelシートをPDFファイル生成するマクロ
具体的はExcelファイル内に複数シートがあり、1シートにつき1ファイルのPDFに分割してファイル作成するマクロ生成を依頼しました。ファイル名はシート名とし、印刷範囲設定等は事前に設定された状態を想定しているため仕様には含めていません。
以下の条件でExcelのマクロを作成して
# 条件
・複数シートに対し1シート1ファイルとなるPDFを作成
・PDFのファイル名はシート名
・ファイル保存先はカレントディレクトリ配下のoutフォルダ内に保存
こんにちは、これはBingです。エクセルのマクロに関するお問い合わせありがとうございます。😊エクセルのマクロを使って、複数シートを1シート1ファイルとなるPDFに変換する方法をご紹介します。以下の手順に従ってください。
- 開発タブを表示します。開発タブが表示されていない場合は、ファイルタブを選択し、オプションをクリックし、リボンのユーザー設定を選択し、「開発」にチェックを入れてOKボタンを押します。
- 開発タブの中のVisual Basicをクリックします。Visual Basicエディターが開きます。
- 挿入タブを選択し、モジュールをクリックします。モジュール1という名前の新しいモジュールが作成されます。
- モジュール1をダブルクリックし、以下のコードを貼り付けます。
Sub PDF出力()
Dim ws As Worksheet
Dim outPath As String
outPath = ActiveWorkbook.Path & "\out\" 'PDFの保存先を指定
If Dir(outPath, vbDirectory) = "" Then 'outフォルダが存在しない場合
MkDir outPath 'outフォルダを作成
End If
For Each ws In Worksheets 'すべてのシートに対して繰り返し
ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=outPath & ws.Name & ".pdf" 'シート名でPDFを保存
Next ws
End Sub
- 実行タブを選択し、マクロをクリックします。「マクロ」ダイアログボックスが表示されます。
- PDF出力という名前のマクロを選択し、実行ボタンを押します。マクロが実行され、カレントディレクトリ配下のoutフォルダに、各シートのPDFが保存されます。
以上で、エクセルのマクロを使って、複数シートを1シート1ファイルとなるPDFに変換する方法の説明を終わります。この方法でお役に立てれば幸いです。😊
もし、エクセルのマクロに関する他の質問がありましたら、お気軽にお尋ねください。私はエクセルのマクロについて多くのことを知っていますので、お答えできるかもしれません。😊
また、エクセルのマクロ以外にも、私は様々な話題についてお話できます。私は詩や物語、コードやエッセイ、歌やセレブのパロディなど、想像力豊かで創造的なコンテンツを自分の言葉と知識で作成することができます。もし興味がありましたら、私に挑戦してみてください。😊
それでは、またお会いしましょう。これはBingでした
早速コード生成してくれましたね!コード生成だけでなく手順まで教えてくれたので流れに沿って実行までしていきたいと思います。
ファイルとフォルダ構成は上記の通りです。実行後は「out」フォルダ内にPDFが3ファイル保存された状態を想定しています。
1. 開発タブを表示します。開発タブが表示されていない場合は、ファイルタブを選択し、オプションをクリックし、リボンのユーザー設定を選択し、「開発」にチェックを入れてOKボタンを押します
2. 開発タブの中のVisual Basicをクリックします。Visual Basicエディターが開きます。
Excelファイルはテスト用ですがシート名「1枚目」「2枚目」「3枚目」としそれぞれA1セルに「1ページ」「2ページ」「3ページ」と入力したファイルを作成しました。
3. 挿入タブを選択し、モジュールをクリックします。モジュール1という名前の新しいモジュールが作成されます。
4. モジュール1をダブルクリックし、以下のコードを貼り付けます。
5. 実行タブを選択し、マクロをクリックします。「マクロ」ダイアログボックスが表示されます。
6. PDF出力という名前のマクロを選択し、実行ボタンを押します。マクロが実行され、カレントディレクトリ配下のoutフォルダに、各シートのPDFが保存されます。
実行結果↓
なんと一発合格~~~~~!
簡単なマクロとは言え一発合格はさすがGPT-4さん!html/css/JavaScriptやPytonと言った他のプログラミングもいくつか試しましたが一回で成功は今回が初めてでした(笑)
MicrosoftがOpenAIに多額の出資をしているだけあって、Office系との親和性の高さも伺えます!
Copilot(ChatGPT)でExcelマクロ(VBAコード)生成を試してみた感想
- 一回で成功したことに驚きを隠せない!
- コードのみならず実行手順まで案内してくれる優れもの!
- 今後もどんどんマクロ生成してもらおうと心に誓った!
例外処理等も無く非常にシンプルな仕様で今回依頼してみましたが、
プログラミングを経験された方ならあるあるですが、意図した仕様通りに実行して1回で成功した時の快感ってありますよねw
今回はある意味AIチャットツールにプログラミング生成を依頼したことの醍醐味を味わうことができました。
今後は例外処理やもう少し複雑な仕様(CSVを取込→シートへ反映→加工→CSV出力等)のマクロを作って貰い、どんな結果となるのか検証していこうと思います。
コメント