• DİKKAT

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

iki tarih arasındaki tüm günleri yazma makrosu

GÜNCELLE olarak tanımladığınız butonu SİLME işlemi için kullanabilirsiniz.

C++:
Private Sub CommandButton2_Click()
    Dim S1 As Worksheet, X As Long, Alan As Range
   
    Set S1 = Sheets("Sabitler")
   
    For X = 2 To S1.Cells(S1.Rows.Count, 1).End(3).Row
        If S1.Cells(X, 1) >= CDate(TextBox4) And S1.Cells(X, 1) <= CDate(TextBox5) And S1.Cells(X, 2) = ComboBox2 Then
            If Alan Is Nothing Then
                Set Alan = S1.Cells(X, 1)
            Else
                Set Alan = Union(Alan, S1.Cells(X, 1))
            End If
        End If
    Next
   
    If Not Alan Is Nothing Then
        Alan.EntireRow.Delete
        MsgBox "Hatalı tarih aralığı silinmiştir.", vbInformation
    Else
        MsgBox "Hatalı tarih bulunumadı!", vbExclamation
    End If
   
    Set Alan = Nothing
    Set S1 = Nothing
End Sub
 
Korhan Bey öncelikle çok teşekkür ederim, uğraştırıyorum sizi kusura bakmayın. Yazdığınız kodu uyguladım fakat benim istediğim bu değildi. Şöyle anlatmaya çalışayım; izin başlangıç ve bitiş tarihlerini kaydettik, ve iki tarih arasını alt alta seri şekilde yazdırdık. Buraya kadar tamam. Kullanıcı daha sonra bu izin tarihlerini yanlış girdiğini fark etti (yani diyelim ki ayın 3'ü ile 9'u arası değil de, 5'i ile 10'u arası iznini güncellemek istedi) bu durum da öncelikle ilk hatalı girdiği 3 ile 9 tarihi arasını bulup silmemiz ve yeni izin tarihini 5 ile 10 arasını kaydetmemiz gerekiyor.
 
İşin içinde zaten silme işlemi var. Benim önerdiğim yöntem hatalı girilen tarih aralığı komple siliyor. Sonrasında doğru tarihleri girerek yeniden kayıt işlemi yapılacak. Eğer yeniden kayıt işlemini otomatik yapsın derseniz CommandButton1 kodlarını çağırarak işlemi yaptırabilirsiniz.
 
Korhan Bey sizin kodlarınızla tekrar denedim, ama herhangi bir işlem yapmıyor, sadece tarih hatalı değildir diye mesaj veriyor. Herhangi bir silme işlemi yapmadı. Dediğiniz gibi iki tarih arasını sildikten sonra kayıt butonunu çağırarak sorunu çözebilirim.
 
Userformunuzda GÜNCELLE butonu tarafındaki nesnelere silmek istediğiniz tarih ve izin tipini yazarak deneyiniz.
 
Denedim ama herhangi bir işlem yapmıyor, sadece "hatalı tarih bulunamadı" mesajı veriyor. Veri girerek te denedim, boşken de denedim hiç bir işlem yapmıyor..
 
Korhan Bey tamamdır, teşekkür ederim çok uğraştırdım sizi, emekleriniz ve ilginiz için çok sağ olun. Kolaylıklar diliyorum
 
Verdiğim kod ile silme işlemi gerçekleşti mi?
 
Evet Korhan Bey, kendi dosyama uyarlarken bir yerde hata yapmışım, onu düzeltince çalıştı. Önce sildiriyorum sonra yeni izin kaydını yaptırıyorum. tekrardan çok teşekkür ederim, ellerinize sağlık.
 
Geri
Üst