Cofanie makra

 

Generalnie wykonanie makra nie umożliwia jego cofnięcia - nie można skorzystać z przycisku 'cofnij'.

Jednakże, odpowiednie napisanie kodu może nam umożliwić cofanie makra.

 

Poniższy kod jest tylko przykładem z założenia możliwie najprostszym - cofamy tutaj makro zmieniające format liczbowy aktywnej komórki. Działanie na zakresach wielokomórkowych będzie wymagało skorzystania z tablic.

 

Private oldformat As String

0x01 graphic

Sub Format()

'zapamiętuje jaki był poprzedni format liczbowy
oldformat = ActiveCell.NumberFormat

'zamienia format liczbowy
ActiveCell.NumberFormat = "#,##0.00"

'przysuje metodzie undo makro przywracające stary format
Application.OnUndo "Cofnij formatowanie", "UndoFormat"

End Sub

0x01 graphic

Sub UndoFormat()

'wstawia stary format liczbowy
ActiveCell.NumberFormat = oldformat

End Sub

 

0x01 graphic