• DİKKAT

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

Tarih Gelince Sayfaları Sil

  • Konbuyu başlatan Konbuyu başlatan 3641
  • Başlangıç tarihi Başlangıç tarihi

3641

Altın Üye
Katılım
22 Mayıs 2006
Mesajlar
134
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.
 
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:
Ö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.
 
Gözümden kaçmış. End sub satırından önce ThisWorkbook.Save satırını ilave ediniz.
 
Ömer Bey, Sorunsuz çalışıyor. İlginiz desteğiniz ve yardımlarınız için teşekkür ederim,
 
Rica ederim, iyi çalışmalar diliyorum...
 
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.
 
Merhaba If Date = tarih Then satırını If Date >= tarih Then şeklinde değiştiriniz.
 
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.
 
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
 
hamitcan Ustam selam ben çalıştıramadım galiba her hangi bir hata da vermedi.
 
Geri
Üst