マクロの処理はUndo(元に戻す)できますが、一つのマクロでいくつものポイントが記録されるため、Undoを何度も行ったり、中途半端に戻すと問題が生じる場合もあります。
UndoRecordオブジェクトを使うと、マクロ内のコマンドを1回のUndoでまとめて元に戻すことができます。
UndoRecordオブジェクトでマクロのUndoをまとめる
Dim oUndo As UndoRecord
Set oUndo = Application.UndoRecord
oUndo.StartCustomRecord "マクロ:タイトル追加"
'処理内容 ----------------------------
oUndo.EndCustomRecord
EndCustomRecordメソッド
Undoに名前を付け、記録を開始するメソッドです。
EndCustomRecordメソッド
Undoの記録を終了します。