Wordでは、Undoスタックをクリアするために、ActiveDocumentオブジェクトでUndoClearメソッドを使用できます。 ExcelのVBAフレーバーでマクロをプログラミングしている場合、Excelで使用する同様の方法があるかどうか疑問に思うかもしれません。

Excel VBAは、UndoClearのようなメソッドを提供していません。その理由は、マクロがブックに変更(変更)を加えるたびに、元に戻すスタックがExcelによって自動的にクリアされるためです。マクロが変更を加えず、それでも元に戻すスタックをクリアしたい場合は、ワークシートに無害な変更を加えるだけです。たとえば、次のマクロはセルA1の内容をA1にコピーして戻し、その過程で元に戻すスタックをクリアします。

Sub ClearUndo()

Range("A1").Copy Range("A1")

End Sub

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(9733)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。