• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

makro ile geri alma

  • Konbuyu başlatan Konbuyu başlatan nachuge
  • Başlangıç tarihi Başlangıç tarihi
Katılım
25 Ocak 2012
Mesajlar
77
Excel Vers. ve Dili
2007 Türkçe
Arkadaşlar excel sayfamda bir butn ile belli yerlerdeki değeri sildiriyorum aşağıdaki komutla

Kod:
Sub sbClearCellsOnlyData()
Sheets("Bilgiler").Range("B30:L60").ClearContents
Sheets("Bilgiler").Range("N30:O60").ClearContents
End Sub

peki bir diğer buton ile bu silinenleri geri almak için bir makro komutu varmıdır?
 
Yardımcı bir sayfa kullanmanız sorun olmazsa, basitçe yapabilirsiniz.
 
Bu konuda ben de bir örnek dosya eklemek istiyorum.

Kodlar bu şekilde;

Kod:
Type Evn
    Değer As Variant
    Adres As String
End Type
Public Eski_Kitap As Workbook, Eski_Sayfa As Worksheet, Eski_Seçilen() As Evn

Sub Sıfır_Yaz()
    Dim i As Long, hucre As Range
    If TypeName(Selection) <> "Range" Then Exit Sub
    If Selection.Count > 50000 Then
        MsgBox "..::.. Çok fazla hücre seçtiniz. ..::.. ", vbCritical
        Exit Sub
    End If
    ReDim Eski_Seçilen(Selection.Count)
    Set Eski_Kitap = ActiveWorkbook
    Set Eski_Sayfa = ActiveSheet
    i = 0
    For Each hucre In Selection
        i = i + 1
        Eski_Seçilen(i).Adres = hucre.Address
        Eski_Seçilen(i).Değer = hucre.Formula
    Next hucre
    Application.ScreenUpdating = False
    Selection.Value = 0
    Application.OnUndo "Sıfır Yaz Makrosunu Geri Al", "Geri_Al"
End Sub


Sub Geri_Al()
    Dim i As Long
    On Error GoTo Hata
    Application.ScreenUpdating = False
    Eski_Kitap.Activate
    Eski_Sayfa.Activate
    For i = 1 To UBound(Eski_Seçilen)
        Range(Eski_Seçilen(i).Adres).Formula = Eski_Seçilen(i).Değer
    Next i
    Exit Sub
Hata:
    MsgBox "..:... Geri Alamazsınız ..::..", vbCritical
End Sub
Dosyayı da ekliyorum.
 

Ekli dosyalar

Geri
Üst