Excelマクロを使用して業務を自動化する際、処理の履歴をExcelシートに出力し、実行後に記録を参照できるようにしたいときがあります。
ログ出力をする簡単なサンプルです。
内容:
動作確認のExcelは「Microsoft® Excel® for Microsoft 365 MSO」(バージョン2503)です。
アウトプットイメージ
下図のように、マクロがあるExcelファイルにシート名「ログ」を作成し、処理結果を示すログを出力します。
この事例では、A列とB列に処理対象と処理内容のログを出力しています(For文で処理を1から5まで繰り返し)。

VBAサンプル
VBAのサンプルは次のとおりです。
Dim ログシート As Worksheet
Sub ログ出力サンプル()
' ログシートの指定'
Set ログシート = ThisWorkbook.Sheets("ログ")
' シートの内容をクリア、項目作成'
ログシート.Cells.Delete
ログシート.Cells(1, 1).Value = "処理対象"
ログシート.Cells(1, 2).Value = "出力内容"
' ログの出力(サンプルで5回繰り返し)'
Dim i As Long
For i = 1 To 5
Call ログ出力(i, "処理" & i)
Next i
' ログを確認しやすいように列幅調整'
ログシート.Columns.AutoFit
MsgBox "完了しました。", vbInformation
End Sub
Sub ログ出力(処理対象 As Long, 出力内容 As String)
Dim 出力行 As Long
出力行 = ログシート.Cells(Rows.Count, 1).End(xlUp).Row + 1
ログシート.Cells(出力行, 1).Value = 処理対象
ログシート.Cells(出力行, 2).Value = 出力内容
End Sub
以上、Excel VBAで実行ログをExcelシートに出力する簡単サンプルでした。