Excel VBAで取り消し可能なマクロを作成する方法
メソッド:http://www.exceltip.net/thread-9582-1-1.html、転載したら出典を明記してください.
VBAマクロが実行されると、通常は操作を取り消すことはできません(ツールバーや編集バーの取り消しボタンに素早くアクセスします).では、誤操作が発生した場合は、ドキュメントを閉じて再度開く必要があります.実はVBAではマクロ操作を取り消す方法が提供されていますが、この方法はマクロ操作を取り消す別のマクロを作成しなければなりません.煩雑であるが,この方法は操作前のデータをパラメータとして伝達し,マクロ操作前の状態を完全に回復させることができる.マクロの最後に、取り消し操作時に実行するマクロを指定する文を追加します.注意パラメータは2つあります
例を参照してください.
VBAマクロが実行されると、通常は操作を取り消すことはできません(ツールバーや編集バーの取り消しボタンに素早くアクセスします).では、誤操作が発生した場合は、ドキュメントを閉じて再度開く必要があります.実はVBAではマクロ操作を取り消す方法が提供されていますが、この方法はマクロ操作を取り消す別のマクロを作成しなければなりません.煩雑であるが,この方法は操作前のデータをパラメータとして伝達し,マクロ操作前の状態を完全に回復させることができる.マクロの最後に、取り消し操作時に実行するマクロを指定する文を追加します.注意パラメータは2つあります
Application.OnUndo ,
例を参照してください.
Sub Test1()
Dim Temp
Temp = Range("A1") ' A1
Range("A1") = 100 ' A1
' 。 Test2
Application.OnUndo " Test1 ", "'Test2 """ & Temp & """'"
End Sub
Sub Test2(ByVal Rng)
Range("A1") = Rng 'Test2 A1
End Sub