Tarih Gelince Sayfaları Sil

3641

Altın Üye
Katılım
22 Mayıs 2006
Mesajlar
134
Altın Üyelik Bitiş Tarihi
27-10-2026
Arkadaşlar iyi akşamlar.
Aşağıdaki makro konusunda yardımınızı rica ederim.

Makro içindeki yazılı olan tarih geldiğinde Kitabın içindeki atakip1 - atakip2 ve atakip3 isimli sayfaları silip otomatik olarak kitabı kaydetsin.

Yardımcı olacak arkadaşlara şimdiden teşekkür ederim.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,106
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Aşağıdaki kodu boş bir modüle kopyalayıp deneyiniz.
PHP:
Sub Auto_open()
Call SayfaSil("19.03.2019")
End Sub
Private Sub SayfaSil(tarih As Date)
silinecek = Array("atakip1", "atakip2", "atakip3")
If Date = tarih Then
    Application.DisplayAlerts = False
    For Each sil In silinecek
        On Local Error Resume Next
        Sheets(sil).Delete
        If Err.Number <> 0 Then
            MsgBox sil & " sayfası bulunamadı."
            Err.Clear
        End If
    Next
    Application.DisplayAlerts = True
End If
ThisWorkbook.Save
End Sub
 
Son düzenleme:

3641

Altın Üye
Katılım
22 Mayıs 2006
Mesajlar
134
Altın Üyelik Bitiş Tarihi
27-10-2026
ÖmerBey;

Hızlı cevabınız için teşekkür ederim. İstediğim sayfaları çok hızlı bir şekilde siliyor. Sizden ricam bu kod'a sidikten sonra otomatik kaydet ekleyebilirmiyiz.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,106
Excel Vers. ve Dili
2007 Türkçe
Gözümden kaçmış. End sub satırından önce ThisWorkbook.Save satırını ilave ediniz.
 

3641

Altın Üye
Katılım
22 Mayıs 2006
Mesajlar
134
Altın Üyelik Bitiş Tarihi
27-10-2026
Ömer Bey, Sorunsuz çalışıyor. İlginiz desteğiniz ve yardımlarınız için teşekkür ederim,
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,106
Excel Vers. ve Dili
2007 Türkçe
Rica ederim, iyi çalışmalar diliyorum...
 

3641

Altın Üye
Katılım
22 Mayıs 2006
Mesajlar
134
Altın Üyelik Bitiş Tarihi
27-10-2026
Yukarıdaki kod Tarih gelince veya Tarih geçince sil yapılabilir mi?

Yukarıdaki kod: Tarih koruması 10/05/2019 olarak ayarlandığında atakip1 -atakip2- atakip3 sayfalarını Excel kitabı 10/05/2019 tarihinde açılınca silme işlemini yapacak. 10/05/2019 tarihinden sonra kitap açıldığında maalesef silme işlemini yapmıyor.

Yukarıdaki kod tarihi 10/05/2019 yazıldığından 10/05/2019 tarihinde veya 10/05/2019 tarihinden sonraki her hangi bir gün silecek şekilde düzenlenebilir mi.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Merhaba If Date = tarih Then satırını If Date >= tarih Then şeklinde değiştiriniz.
 

3641

Altın Üye
Katılım
22 Mayıs 2006
Mesajlar
134
Altın Üyelik Bitiş Tarihi
27-10-2026
Arkadaşlar aşağıdaki sayfa sil kodu
Private Sub SayfaSil(tarih As Date)
silinecek = Array("atakip1", "atakip2", "atakip3")

tek tek sayfa isimlerini yazmak yerine kitabın içindeki "tüm sayfaları" olarak düzenlenebilir mi acaba.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,679
Excel Vers. ve Dili
Excel 2019 Türkçe
Bu şekilde deneyin.
Kod:
Private Sub SayfaSil(tarih As Date)
Dim silinecek()
'silinecek = Array("atakip1", "atakip2", "atakip3")

    For i = 1 To Sheets.Count
        ReDim Preserve silinecek(0 To Sheets.Count)
        silinecek(i) = Sheets(i).Name
    Next

If Date = tarih Then
    Application.DisplayAlerts = False
    For Each sil In silinecek
        On Local Error Resume Next
    MsgBox sil

        Sheets(sil).Delete
        If Err.Number <> 0 Then
            MsgBox sil & " sayfası bulunamadı."
            Err.Clear
        End If
    Next
    Application.DisplayAlerts = True
End If
ThisWorkbook.Save
End Sub
 

3641

Altın Üye
Katılım
22 Mayıs 2006
Mesajlar
134
Altın Üyelik Bitiş Tarihi
27-10-2026
hamitcan Ustam selam ben çalıştıramadım galiba her hangi bir hata da vermedi.
 
Üst