"İzin başlangıcı özel ise bir gün sonra başlat" kodunu farklı dosyada çalıştıramadım

Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
"İzin başlangıcı özel ise bir gün sonra başlat" kodunu farklı dosyada çalıştıramadım

Değerli Dostlar Selamlar,
Sayın veyselemre nin yazmış olduğu izin tarihi hafta tatiline veya bayrama denk gelince bir gün eklesin şeklindeki kodu ana belge içerisine entegre edemedim. tatil kısmında hata veriyor. Nasıl düzeltmem lazım.
Private Sub Calendar1_Click()
ActiveCell = Calendar1.Value
Calendar1.Height = 0
'If Target.Address <> "$C$10" Or Not IsDate(Target.Value) Then Exit Sub
'If Weekday(Target.Value) = Sayfa1("D3").Value Then
'Target.Value = Target.Value + 1
'MsgBox "Girdiğiniz tarih hafta sonuna geldiğinden değiştirildi."
'End If
'bayramlar = Sheets("Sayfa1").Range("e2:e" & Sheets("Sayfa1").[e2].End(xlDown).Row).Value
'For Each tatil In bayramlar
'If CDate(tatil) = CDate(Target.Value) Then
'Target.Value = Target.Value + 1
'MsgBox "Girdiğiniz tarih tatil gününe geldiğinden değiştirildi."
'Exit Sub
'End If
'Next
End Sub
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Değerli Dostlar,
İzin başlama tarihi.xls sayın veyselemrenin kodlarıyla hazırladığım dosya.
İçerisinde bulunan uygulama şöyle:
Ekteki dosyada Sayfa1 B2 hücresine bir başlangıç tarihi girdiğimde o tarihin haftanın günü B2 ye denk gelince ve Sayfa2 de D2 : D13 aralığında yazılan tarih mevcut ise B1 deki tarihi silip yerine bir gün sonraki tarihi yazsın mesajbox ta "hafta tatili ve bayramlarda başlanmaz" yazsın.
Diğer dosyanın Sayfa3 kod sayfasında da uyarlamaya çalıştığım kodlar var.
Takvim denetimiyle beraber çalıştırmaya uğraştım. başaramadım.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,652
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Private Sub Calendar1_Click()
Calendar1.Height = 0
    If Weekday(Calendar1.Value) = Sheets("Sayfa1").[D3].Value Then
        Calendar1.Value = Calendar1.Value + 1
        MsgBox "Girdi&#287;iniz tarih hafta sonuna geldi&#287;inden de&#287;i&#351;tirildi."
    End If
    bayramlar = Sheets("Sayfa1").Range("e2:e" & Sheets("Sayfa1").[e2].End(xlDown).Row).Value
    For Each tatiller In bayramlar
        If tatiller = Calendar1.Value Then
            Calendar1.Value = Calendar1.Value + 1
            MsgBox "Girdi&#287;iniz tarih tatil g&#252;n&#252;ne geldi&#287;inden de&#287;i&#351;tirildi."
            End If
    Next
ActiveCell = Calendar1.Value
End Sub
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sn.veyselemre Selamlar,
Sağol, varol. Çok çok teşekkür ederim. Darıma yetiştin vallahi.
 
Üst