Selamlar,
çeşitli makrolardan kendime aşağıdaki iki makroyu uyarladım.
makrosil girdiğim range'in içeriğni temizliyor
undozero da bu temizleme işlemini geri alıyor.
bu haliyle sorunumu çözdü ancak makrosil yanlışlıkla üst üste iki kez tıklanırsa undozerı geri alamıyor. veri tamamen uçuyor.
makrosil bir kere çalışıp verileri sildiğinde o range'de veri yoksa tekrar çalışmamasını sağlmak istiyorum.
Nasıl çözebilecğeim konusunda yardımcı olabilir misiniz ?
Teşekkürler
çeşitli makrolardan kendime aşağıdaki iki makroyu uyarladım.
makrosil girdiğim range'in içeriğni temizliyor
undozero da bu temizleme işlemini geri alıyor.
bu haliyle sorunumu çözdü ancak makrosil yanlışlıkla üst üste iki kez tıklanırsa undozerı geri alamıyor. veri tamamen uçuyor.
makrosil bir kere çalışıp verileri sildiğinde o range'de veri yoksa tekrar çalışmamasını sağlmak istiyorum.
Nasıl çözebilecğeim konusunda yardımcı olabilir misiniz ?
Kod:
Type SaveRange
Val As Variant
Addr As String
End Type
' Stores info about current selection
Public OldWorkbook As Workbook
Public OldSheet As Worksheet
Public OldSelection() As SaveRange
Sub MakroSil()
' MakroSil Makro
'
Range("E5:N5").Select
ReDim OldSelection(Selection.Count)
Set OldWorkbook = ActiveWorkbook
Set OldSheet = ActiveSheet
i = 0
For Each cell In Selection
i = i + 1
OldSelection(i).Addr = cell.Address
OldSelection(i).Val = cell.Formula
Next cell
Selection.ClearContents
' Specify the Undo Sub
Application.OnUndo "Undo the ZeroRange macro", "UndoZero"
End Sub
Sub UndoZero()
' Undoes the effect of the ZeroRange sub
' Tell user if a problem occurs
On Error GoTo problem
Application.ScreenUpdating = False
' Make sure the correct workbook and sheet are active
OldWorkbook.Activate
OldSheet.Activate
' Restore the saved information
For i = 1 To UBound(OldSelection)
Range(OldSelection(i).Addr).Formula = OldSelection(i).Val
Next i
Exit Sub
' Error handler
problem:
MsgBox "Gelirler Zaten Ekli"
End Sub
'Other examples of Undo
Teşekkürler
