Geri Al düğmesi hk.

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,895
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar,
Arkadaşlar ekteki dosyamda istediğim alanı düğme ile temizleyebiliyorum. Ancak temizlediğim alanı tekrar eski haline yani geri al düğmesiyle geri getirmek istiyorum. Nasıl yapabilirim?

Saygılar
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Silme olayından önce kodunuzun önüne kopyalama kodu yerleştirirseniz, temel olarak halledilebilir. Ama karmaşık işlemler için, -Clipboard kullanımı gibi- biraz daha geliştirmek gerekebilir.

Ekteki dosyayı inceleyiniz.
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,895
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Hocam iyi geceler,
İlginize çok teşekkürler ama neden başka bir sayfaya aktarıyor sonra geri al dediğimizde tekrar önceki haline döndürüyor. Evet belki istenileni yapıyor ama şöyle düşünelim örneğin ; Word de yazı yazıyoruz yanlış yaptığımızda nasıl geri al düğmesiyle geriye döndürüyorsak aynı o şekilde yapma şansımız nedir?
Saygılar
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Alternatif olarak aşağıdaki kodlarıda deneyebilirsiniz. Makro ile sildiğiniz verileri normal geri al özelliği ile geri getiremezsiniz, yapmanız gereken ikinci bir makro ile ilk makrodaki işlemin tersini yaptırmaktır.

Kod:
Dim hucre As Range
Dim deger(100000)
 
Sub Sil()
For Each hucre In [a2:d500]
c = c + 1
deger(c) = hucre
Next
Range("A2:D500").ClearContents
End Sub
 
Sub gerial()
For Each hucre In [a2:d500]
c = c + 1
hucre = deger(c)
Next
End Sub
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Levent Hocam'a katılıyorum. Geri al işlemi, bir tersine çevirme işlemidir. Eper bir şeyi geri döndürmek istiyorsanız da, önceki halini hatırlamalısınız.

Excel'in kendi Geri Al özelliğini incelediğinizde, sadece son 16 eylemi geri aldığını görürsünüz.

Standart "Geri Al" işlemi, aynı makro kaydı yapmak gibi birşey .. Yaptığınız tüm değişikliklerin (eylemlerin) kaydını bir yerde tutmalısınız ve sonra da gerektiğinde bu değişiklikleri (eylemleri) nötralize etmelisiniz.

Bunu, tabi ki makrolarla sadece kopyalama olarak yapabiliyoruz. Çünkü bir hücrenin taşıdığı o kadar çok özellik var ki .. Hepsini tam olarak takip etmek sanırım Excel'i yazanların uzmanlık konusu..

Ama burada da gördüğünüz gibi belirli ve bildiğimiz eylemleri, kısmen geri alabiliyoruz.
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,895
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar,

Levent Hocam
fpc Hocam
ilginizden ve açıklayıcı bilgilerinizden dolayı çok teşekkürler

Saygılar
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,895
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Hocam unutmuşum A2:500 aralığı temizleniyor ve geri alınıyor. Bu aralığa ilave yapma şansımız var mı? Yani (A2:500, R2:AE500) gibi

Saygılar
 
Son düzenleme:
Katılım
17 Temmuz 2017
Mesajlar
21
Excel Vers. ve Dili
office 2007 türkçe
geri alma işlemi yapılmadığı için makroya yanlışlıkla basıldığında işlemi yapmak istiyor musnuz gibi bir soru sorsa hayır dediğimde işlemi yapmayacak evet dersem yapacak
bunu nasıl yaparız
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,742
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki yapıyı kullanabilirsiniz.

Kod:
Sub TEST()
    Dim Onay As Byte
    
    Onay = MsgBox("İşleme başlamak istiyor musunuz?", vbExclamation + vbYesNo + vbDefaultButton2, "Dikkat !")
    
    If Onay = vbNo Then Exit Sub
    
    Rem Çalışmasını istediğiniz kodlar...
    Rem Çalışmasını istediğiniz kodlar...
    Rem Çalışmasını istediğiniz kodlar...
    Rem Çalışmasını istediğiniz kodlar...
    Rem Çalışmasını istediğiniz kodlar...
End Sub
 
Üst