İki tarih arasındaki gün bulma

Katılım
26 Haziran 2007
Mesajlar
3
Excel Vers. ve Dili
Türkçe
Arkadaşlar Merhabalar,

2 tarih arasındaki tatiller hariç günü bulmaz istiyoruz, ancak ilk tarih saat 15:30 dan önce ise o günü 1 sonra ise 0 olarak görmek istiyoruz. Cumartesileri ise 12:30 dan önce ise 1 sonra ise 0 olarak hesaplatmak istiyoruz.

Yardımcı olursanız çok sevinirim, şimdiden teşekkür ederim.
 
Katılım
26 Haziran 2007
Mesajlar
3
Excel Vers. ve Dili
Türkçe
Arkadaşlar Merhabalar,

Aşağıdaki şekilde yapabiliyorum, ancak farkılı 1 den fazla tatilleri ayarlayamadım, Tatiller şu anda 1 hücre içindeki tatil günü gösteriyor, bunu bir aralığa yazdığım tüm tarihler için yapamadım, yani burada range yi nasıl kullanabilirim?

Sub FarkGun()
Dim bassaat As Date
Dim Tatiller As Date
Dim gunfark As Integer

bittarih = DateValue(Cells(6, 2))
bastarih = DateValue(Cells(6, 1))
bassaat = TimeValue(Cells(6, 1))

Tatiller = DateValue(Cells(2, 9))

gunfark = Application.WorksheetFunction.NetworkDays_Intl(bastarih, bittarih, 11, Tatiller)

'-----------------Başlangıç günü kontrol başı

baslangickontrol = Weekday(bastarih, vbMonday)
Select Case baslangickontrol
Case 1 To 5
If bassaat > #3:30:00 PM# Then
gunfark = gunfark - 1
End If
Case 6
If bassaat > #12:30:00 PM# Then
gunfark = gunfark - 1
End If
End Select
'-----------------Başlangıç günü kontrol bitiş

Sayfa1.Cells(6, 4) = gunfark

End Sub
 
Katılım
26 Haziran 2007
Mesajlar
3
Excel Vers. ve Dili
Türkçe
Arkadaşlar tamamdır, birilerine gerek olur diye son hali ektedir.

Sub FarkGun(Sayfa)

Dim Tatiller As Range
Dim bassaat As Date
Dim gunfark As Integer

Sayi = 5

Sayfa1.Select

Do While Not Cells(Sayi, 1) = ""

bittarih = DateValue(Cells(Sayi, 2))
bastarih = DateValue(Cells(Sayi, 1))
bassaat = TimeValue(Cells(Sayi, 1))

Set Tatiller = Range("I2:I21")

gunfark = Application.WorksheetFunction.NetworkDays_Intl(bastarih, bittarih, 11, Tatiller)

'-----------------Başlangıç günü kontrol başı

baslangickontrol = Weekday(bastarih, vbMonday)
Select Case baslangickontrol
Case 1 To 5
If bassaat > #3:30:00 PM# Then
gunfark = gunfark - 1
End If
Case 6
If bassaat > #12:30:00 PM# Then
gunfark = gunfark - 1
End If
End Select
'-----------------Başlangıç günü kontrol bitiş

Cells(Sayi, 4) = gunfark - 1

Sayi = Sayi + 1

Loop

End Sub
 
Üst