← コード一覧へ戻る
実務エラー処理

時刻付きの実行ログを新しいブックへ出力する

新しいログ用ブックに時刻・段階・結果を追記し、処理の記録を残します。

実行前に確認

  • 作成したログブックは自動保存されません。閉じる前に必要なら.xlsxで保存します。
  • 短い処理なので3行の時刻が同じ秒になる場合があります。監査証跡や改ざん防止を保証するログではありません。
  • 既存ログの最大行数や同時書き込みは扱っていません。補助Subは同じ標準モジュールに置きます。
  • Excel実機での動作は未確認です。コピーした練習用ブックで試してください。

1サンプルコード

Option Explicit

Sub Example7029()
    Dim logBook As Workbook
    Dim logSheet As Worksheet
    Set logBook = Workbooks.Add(xlWBATWorksheet)
    Set logSheet = logBook.Worksheets(1)
    logSheet.Name = "実行ログ"
    logSheet.Cells(1, 1).Value = "時刻"
    logSheet.Cells(1, 2).Value = "段階"
    logSheet.Cells(1, 3).Value = "内容"
    AppendLog7029 logSheet, "開始", "練習処理を開始"
    AppendLog7029 logSheet, "計算", "3×250=" & 3 * 250
    AppendLog7029 logSheet, "終了", "練習処理が完了"
    logSheet.Columns("A").NumberFormat = "yyyy/mm/dd hh:mm:ss"
    logSheet.Columns("A:C").AutoFit
    MsgBox "新しいログブックを作りました。残す場合は名前を付けて保存してください。"
End Sub

Private Sub AppendLog7029(ByVal ws As Worksheet, _
                          ByVal stage As String, ByVal detail As String)
    Dim rowNumber As Long
    rowNumber = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1
    ws.Cells(rowNumber, 1).Value = Now
    ws.Cells(rowNumber, 2).Value = stage
    ws.Cells(rowNumber, 3).Value = detail
End Sub

図で見る時刻付きの実行ログを新しいブックへ出力するの流れ

イメージ図

新しいログ用ブックに時刻・段階・結果を追記し、処理の記録を残します。

  1. 入力・開始時

    新規ブックの実行ログに見出しを作成

  2. 実行する処理

    AppendLog7029で開始・計算・終了とNowを3回追記

  3. 結果

    時刻・段階・内容が3行。計算ログは3×250=750

ログブックは未保存です。残す場合は自分で名前を付けて保存します。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
  1. 1

    デスクトップ版Excelで練習用ブックを.xlsm形式で保存します。Alt+F11→[挿入]→[標準モジュール]を選び、空のモジュールの先頭にこの例全体を貼り付けます。

  2. 2

    書き換えは不要です。まず例の値のままで試し、値や変数名を変える場合は同じ名前の箇所も揃えます。

  3. 3

    Example7029のSub内にカーソルを置き、F5キーで実行します。

  4. 4

    新しいブックの「実行ログ」に、見出しと開始・計算・終了の3行が作られます。元のブックは変更しません。

使っている機能の公式ドキュメント(Microsoft Learn)