• DİKKAT

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

Yenilenen hücreye bir önceki değer geri getirme

Katılım
10 Kasım 2013
Mesajlar
30
Excel Vers. ve Dili
2003 excel ve vb
a1:a39 ve b1:b39 kadar hücrelerinde 1 yazar. Buna buton yapıp butona basınca tamamına 2 değeri girip sonra hücrenin hemen bir önceki değerini getirebilirmiyim; örnek

a1:a39 ve b1:b39 hücrelerin şuanki değeri 1 dir. butona basacam a1:a39 ve b1:b39 değeri 2 oldu;
tekrar butona bas hücrelerin değeri 1 olsun; ctrl z olsun yani
 
Merhaba
Ekteki gibi bir örnekte işinize yararsa bir deneyin
http://s8.dosya.tc/server2/weez3c/Kitap1.xls.html

Kırmızı bölüme ilgili hücrelere değer girdiğiniz kodları yazarsınız.
Kod:
Dim kk As Variant

Private Sub CommandButton1_Click()
If IsEmpty(kk) Then
kk = Range("a1:b39").Value
[COLOR="Red"]Range("a1:b39") = "2"[/COLOR]
Else
Range("a1:b39") = ""
Range("A1").Resize(UBound(kk, 1), UBound(kk, 2)).Value = kk
kk = Empty
End If
End Sub
 
Son düzenleme:
Merhaba
Ekteki gibi bir örnekte işinize yararsa bir deneyin
http://s8.dosya.tc/server2/weez3c/Kitap1.xls.html

Kırmızı bölüme ilgili hücrelere değer girdiğiniz kodları yazarsınız.
Kod:
Dim kk As Variant

Private Sub CommandButton1_Click()
If IsEmpty(kk) Then
kk = Range("a1:b39").Value
[COLOR="Red"]Range("a1:b39") = "2"[/COLOR]
Else
Range("a1:b39") = ""
Range("A1").Resize(UBound(kk, 1), UBound(kk, 2)).Value = kk
kk = Empty
End If
End Sub

Bunu makro ile yapınca; geri alma işleminde (1) olunca bütün hücrelerin içi makro olduğu için ilk değer bozuluyor(çünkü bu hücreler macro ile dışardan besleniyor. Aslında şunu yapabilirsem sorunu CTRL Z ile çözülebilir;

Mesela
Formulle c2 hücresi 2 ye eşit olunca a1:a39 ve b1:b39 tamamı 2 ye eşit olsun makrosuz. Sonra CTRL z yapıp hücre değerini ilk orjinal halini görmüş olurum Bunu nasıl yapabilirim.
 
Mesela
Formulle c2 hücresi 2 ye eşit olunca a1:a39 ve b1:b39 tamamı 2 ye eşit olsun makrosuz. Sonra CTRL z yapıp hücre değerini ilk orjinal halini görmüş olurum Bunu nasıl yapabilirim.
Merhaba
Tam anlaşılması açısından bir örnek dosya ekleseniz daha iyi olurdu;
ama "ctrl z" gibi son değişikliği geri almak için aşağıdaki dosya örnek olabilir.
http://s5.dosya.tc/server/i7pb8z/gerial.zip.html

Bir "Modül" e
Kod:
Sub Düğme1_Tıklat()
On Error Resume Next
işlem = Application.CommandBars.FindControl(ID:=128).List(1)
If işlem <> Empty Then
MsgBox işlem & vbCrLf & _
       " GERİ ALINACAK"
Application.CommandBars.FindControl(ID:=128).Execute
Else
 MsgBox "GERİ ALINACAK İŞLEM BULUNAMADI"
 End If
End Sub
 
Geri
Üst