• DİKKAT

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

İki Tarih Arasındaki Verilerin Silinmesi

Katılım
5 Kasım 2007
Mesajlar
4,727
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Merhaba,

"Aylık" isimli sayfada iki tarih arasında ( Örn, 01.12.2008:15.12.2008 ) , C4:AG200 aralığındaki verileri, ikaz vererek silen makroya ihtiyacım var.

Seçilecek ilk ve son tarih değişkendir.

Teşekkür ederim.
 
Merhaba

Örnek bir sosya ekleyebilirmisiniz?

C4:AG200 arasındaki veri tipleri nedir?
Tarih aralığı dediğiniz tarihi nerden baz alacağız?
 
Merhaba

Örnek bir sosya ekleyebilirmisiniz?

C4:AG200 arasındaki veri tipleri nedir?
Tarih aralığı dediğiniz tarihi nerden baz alacağız?

Sayın Ayhan Ercan,merhaba,

AI4 = İlk Tarih (Veri Doğrulama Uygulandı)
AI5 = Son Tarih (Veri Doğrulama Uygulandı)

C4:AG200 aralığındaki veriler sayıdır ve bu sayılar bir başka makro aracılıyla "Aylık" sayfasına taşınmaktadır.

Dosyadaki tarihler değişince eski verilerin makro ile silinmesi gerekiyor, bu nedenle İki Tarih Arası'ndaki verileri, ikaz alarak silmek istiyorum.

Teşekkür ederim.
 

Ekli dosyalar

Tekrar Merhaba

Ek dosyayı inceleyiniz. Arzu ettiğiniz şey böyle bişeymi?

Kod:
Sub sil()
Dim hcr As Range, tar As Date, tar2 As Date
tar = Sheets("Aylık").Range("AI4").Value
tar2 = Sheets("Aylık").Range("AI5").Value
For Each hcr In Sheets("Aylık").Range("C2:AG2")
If hcr >= tar And hcr <= tar2 Then
Sheets("Aylık").Range(Cells(4, hcr.Column), Cells(23, hcr.Column)).ClearContents
End If
Next
End Sub
 

Ekli dosyalar

İkazı atlamışım...
Next ile End Sub arasına aşağıdaki kodu ilave ediniz..

Kod:
MsgBox tar & " tarihi ile " & tar2 & " tarihi arasındaki bilgiler silinmiştir..!", vbInformation
 
Tekrar Merhaba

Ek dosyayı inceleyiniz. Arzu ettiğiniz şey böyle bişeymi?

Kod:
Sub sil()
Dim hcr As Range, tar As Date, tar2 As Date
tar = Sheets("Aylık").Range("AI4").Value
tar2 = Sheets("Aylık").Range("AI5").Value
For Each hcr In Sheets("Aylık").Range("C2:AG2")
If hcr >= tar And hcr <= tar2 Then
Sheets("Aylık").Range(Cells(4, hcr.Column), Cells(23, hcr.Column)).ClearContents
End If
Next
End Sub

Sayın Ayhan Ercan, merhaba

Teşekkür ederim, elinize sağlık,

Saygılarımla.
 
Sayın Ayhan Ercan,merhaba

Silerken de "Veriler silinecektir, eminmisiniz !" mesajını da alabilmek için kodun neresine nasıl bir komut yazmalıyız ?

Teşekkür ederim.

Tekrar Merhaba

Kodlarınızı aşağıdaki gibi revize ederek deneyiniz...

Kod:
Sub sil()
Dim hcr As Range, tar As Date, tar2 As Date
tar = Sheets("Aylık").Range("AI4").Value
tar2 = Sheets("Aylık").Range("AI5").Value
For Each hcr In Sheets("Aylık").Range("C2:AG2")
    If hcr >= tar And hcr <= tar2 Then
        Beep
        soru = MsgBox(hcr & " tarihli bilgiler silinecektir, eminmisiniz..!", vbOKCancel)
        If soru = vbOK Then
            Sheets("Aylık").Range(Cells(4, hcr.Column), Cells(23, hcr.Column)).ClearContents
        Else
            GoTo devam
        End If
    End If
devam:
Next
End Sub
 
Tekrar Merhaba

Kodlarınızı aşağıdaki gibi revize ederek deneyiniz...

Kod:
Sub sil()
Dim hcr As Range, tar As Date, tar2 As Date
tar = Sheets("Aylık").Range("AI4").Value
tar2 = Sheets("Aylık").Range("AI5").Value
For Each hcr In Sheets("Aylık").Range("C2:AG2")
    If hcr >= tar And hcr <= tar2 Then
        Beep
        soru = MsgBox(hcr & " tarihli bilgiler silinecektir, eminmisiniz..!", vbOKCancel)
        If soru = vbOK Then
            Sheets("Aylık").Range(Cells(4, hcr.Column), Cells(23, hcr.Column)).ClearContents
        Else
            GoTo devam
        End If
    End If
devam:
Next
End Sub

Sayın Ayhan Ercan, merhaba

Herşey için bir kez daha teşekkür ederim.

Saygılarımla.
 
Geri
Üst