기본적으로 매크로 실행은 실행 취소가 불가능 하지만,

실행 취소 효과를 낼 수 있는 함수를 별도로 만들어서 Application.Undo에 추가 시켜줌으로써 실행취소와 같은 효과를 볼 수 있다.

 

그러나.. 분량이 큰 DB작업 같은 경우엔 별도의 공간에 변경 전의 내용을 저장해놔야하기 때문에,

컴퓨터의 실행 능력에 부담이 될 수 밖에 없다.

 

간단한 실행에 대한 실행 취소만 가능 할 듯 싶다.

 

 

매크로로 실행하는 함수에 아래 구문을 추가해주고,

Application.OnUndo "이전으로 되돌리기", "gotoBackStage"

 

별도의 함수를 만들어줘서 작업취소 실행시, 해당 함수를 실행시켜줘야한다.

 

Sub gotoBackStage()

꺼꾸로 돌리는 코딩질..

이미 값으로 바꿔버린 수식 같은건 어떻게 원래대로 복구하나? =_=;;
다른 데다 사본을 몰래 만들어놓았다가.. 취소 버튼 누르면 원래데로 갖다놓아야하나.. 킁!

End Sub

 

 참고로 재실행도 가능하게 하려면,

application.onrepeat  를 추가..




참고.http://msdn.microsoft.com/en-us/library/office/ff194135.aspx

Application.OnRepeat "Repeat VB Procedure", _ 
 "Book1.xls!My_Repeat_Sub" 
Application.OnUndo "Undo VB Procedure", _ 
 "Book1.xls!My_Undo_Sub"



profile