【理論と実践】生成AI(Claude)でExcelマクロを作成

~医療・介護に関わる職員が、安心して、仕事の生産性高く、充実して働ける未来の一助へ~

ご友人等へのメルマガ紹介はこちらから。
https://www.mag2.com/m/0001682907

ーーーーーーーーーーーーーーーーーーー
令和7年1月20日 医療・介護経営の理論と実践 2444号

■生成AI(Claude)でExcelマクロを作成

中神勇輝(なかがみゆうき)
ーーーーーーーーーーーーーーーーーーー

おはようございます。中神です。

【背景と目的】

生成AIのClaudeを活用して、職場で必要なExcelマクロを作成した経験を共有します。

具体的には、部署ごとの報告書について、
表紙シートと報告済み部署のシートのみを自動でPDF化する作業の自動化が目的でした。

【資料の構成】

・表紙シート(「目次」)
C列:部署名
D列:報告状況(「済」で表示)

・各部署の報告シート
部署ごとに個別シートを作成
報告内容を記載

【プロンプトの実例】

最初に使用したプロンプトは以下の通りです。

「Excelのシートのうち、一部をPDF化するための、マクロを組んでくれますか。
「目次」というシートがあります。
C列に、診療科や部署の名前があります。
D列には、記載が済んでいる診療科や部署は、「済」と書いてあります。

「目次」のシートと、「済」となっているシートのみ、
PDF化するマクロをお願いしたいです。いかがでしょうか。」

【その結果】

数回、やり取りをして、以下のとおり、狙い通りのマクロが組めました。

Sub 目次と済シートをまとめてPDF化()
Dim ws As Worksheet
Dim i As Long
Dim lastRow As Long
Dim pdfPath As String
Dim sheetArray() As String
Dim sheetCount As Integer
Dim fileName As String
Dim originalSheet As Worksheet ‘ 元のアクティブシートを保存する変数

‘ 現在のアクティブシートを保存
Set originalSheet = ActiveSheet

‘ Excelファイル名を取得
fileName = ThisWorkbook.Name
‘ 拡張子を除去
fileName = Left(fileName, InStrRev(fileName, “.”) – 1)
‘ PDF保存先のファイルパスを指定 (ファイル名を含む)
pdfPath = ThisWorkbook.Path & “\” & fileName & “.pdf”

‘ シート名の配列を初期化
ReDim sheetArray(0)
sheetCount = 0

‘ 「目次」シートを配列に追加
sheetArray(sheetCount) = “目次”
sheetCount = sheetCount + 1

‘ 「目次」シートの最終行を取得
lastRow = ThisWorkbook.Sheets(“目次”).Cells(Rows.Count, “C”).End(xlUp).Row

‘ 各シートをループ処理
For i = 2 To lastRow ‘ 2行目から最終行まで
‘ D列が「済」の場合
If ThisWorkbook.Sheets(“目次”).Cells(i, “D”).Value = “済” Then
‘ シート名を取得
wsName = ThisWorkbook.Sheets(“目次”).Cells(i, “C”).Value
‘ シート名を配列に追加
ReDim Preserve sheetArray(sheetCount)
sheetArray(sheetCount) = wsName
sheetCount = sheetCount + 1
End If
Next i

‘ 配列のシートをまとめてPDF化
Sheets(sheetArray).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=pdfPath

‘ 元のシートを選択して戻す
originalSheet.Select

MsgBox “PDF化が完了しました。”
End Sub

【実践から得られた知見】

生成AIを活用する際の重要なポイントは以下の通りです。

・最初のプロンプトは簡潔に
要件を簡潔に伝え、まずは対話を始めることが重要です。

・対話を通じた改善
完璧なプロンプトを目指すのではなく、
対話を重ねながら徐々に要件を詳細化していく方法が効果的です。

・気軽な試行錯誤
生成AIとの対話は、気負わずに始めることが大切です。
試行錯誤を重ねることで、求める結果が得られるようになりますね。

以上です。では、また明日(^-^)v

(当該内容は、私の所属する組織とは一切関係はなく、全ての文責は私個人に属します。)

テーマについて、ご要望あれば、コメントをどうぞ。

◇病院経営の見える化について公開講座(動画)の講師をする機会を頂きました。感謝(^_^)
https://hcmi-s.net/weblesson-hcm/jmp_consult_01/  (講座)
https://healthcare-mgt.com/article/iryo/jmp_consulting01/  (紹介)

◇過去の内容、記事はこちらから是非(^-^)
https://wakuwaku-kokoro.net/

◇試験勉強や本の学びをアウトプットしているYouTubeチャンネルは、こちらです(^-^)
https://youtube.com/channel/UC_PiglYG9qTBjlJ3jt3161A

この記事を書いたのは、こんな人。
ーーーーーーーーーーーーーーー
中神勇輝。地方の中小病院に勤務する医事課畑出身の企画部門所属。
中小企業診断士(登録申請中)、医療経営士1級。
趣味は、マラソン、ドラム、家庭菜園、筋トレ(HIIT)、読書。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA