• DİKKAT

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

İki tarih arası çalışma gün sayısı

Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Personel izinlerinde
Textbox1 başlangıç tarihi . Textbox2 bitiş tarihi.

Sayfa1 A1:A50 arasında resmi tatiller var.


Eğer Başlangıç tarihi ile bitiş tarihi arasında resmi tatil günü varsa izin süresi okadar azalıcak.
Eğer Başlangıç tarihi ile bitiş tarihi arasında Pazar günü varsa izin süresi yine pazar günü sayısı kadar azalıcak.

Örnek : 17.01.2010 başlangıç tarihi 31.01.2010 bitiş tarihi (bitiş tarihi izin gününden sayılmaması gerekiyor)

Toplam izin süresi 14 Gün (17,18,19,20,21,22,23,24,25,26,27,28,29,30 ocak)

23 ve 30 ocak pazar gününe denk geldiği için 12 gün olucak.

resmi tatillerdede 19 ve 25 ocak olduğunu varsayalım izin süresi 10 gün olacak.

Bu kriterleri vererek.

textbox2-textbox1 = 10 sonucunu nasıl alabilirim.

yardımcı olabilirseniz sevinirim.

İyi Çalışmalar.
 
Merhaba,

Verdiğiniz örnekte son tarih işe başlama günün ise :

Gun = t2 - t1 + 1

formülünde +1 i kullanmayınız. Aksi taktirde aynen kalması gerek.


Kod:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox1.Value = Format(CDate(TextBox1.Value), "dd.mm.yyyy")
End Sub

Kod:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim t1      As Date, _
        t2      As Date, _
        c       As Range, _
        i       As Long, _
        Gun     As Integer, _
        Tatil   As Integer
 
    TextBox2.Value = Format(CDate(TextBox2.Value), "dd.mm.yyyy")
    If IsDate(TextBox1.Value) = False Then Exit Sub
 
    t1 = TextBox1.Value
    t2 = TextBox2.Value
 
    Gun = t2 - t1 + 1
 
    For i = t1 To t2
        If Weekday(i, vbMonday) = 6 Then
            Tatil = Tatil + 1
        Else
            Set c = Sheets("Sayfa1").Range("A1:A50").Find(CDate(CDbl(i)), LookIn:=xlValues)
            If Not c Is Nothing Then Tatil = Tatil + 1
        End If
    Next i
    MsgBox Gun & " --- " & Tatil
    TextBox3.Value = Gun - Tatil
 
End Sub
 

Ekli dosyalar

Geri
Üst