• DİKKAT

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

Yıllık İzin Çalışmaa

  • Konbuyu başlatan Konbuyu başlatan Zilal82
  • Başlangıç tarihi Başlangıç tarihi
Katılım
2 Nisan 2009
Mesajlar
35
Excel Vers. ve Dili
İngilizce
Yıllık İzin başlangıç ve bitş tarihleri arasında sadece istediğim aydaki resmi tail ve pazar hariç gün sayısını versin istiyorum çalışmada normal gün sayısını veriyoo pazar hariç ben resmi tatilleride çıkarsın istiyroum çalışmayı ekledim yardım ederseniz
 

Ekli dosyalar

Resmi tatiller Pazara denk gelirse ne olacak.:cool: :D
 
Hafta tatillerine denk gelen resmi tatiller hesaplanmıyor.Dosyanız ektedir.:cool:
kullanılışı;
=Isgunu_Pazarharic(A2;B2)-resmi_tatiller(A2;B2)
Kod:
Function resmi_tatiller(ilk As Date, son As Date) As Integer
Dim say As Integer, tarih As Date
For tarih = ilk To son
    If Weekday(tarih, vbMonday) <> 7 Then
        If Month(tarih) = 1 And Day(tarih) = 1 Then say = say + 1
        If Month(tarih) = 4 And Day(tarih) = 23 Then say = say + 1
        If Month(tarih) = 5 And Day(tarih) = 1 Then say = say + 1
        If Month(tarih) = 5 And Day(tarih) = 19 Then say = say + 1
        If Month(tarih) = 8 And Day(tarih) = 30 Then say = say + 1
        If Month(tarih) = 10 And Day(tarih) = 29 Then say = say + 1
    End If
Next
resmi_tatiller = say
End Function
 

Ekli dosyalar

Yardım ettiğiniz için teşekkürler ama ben ay içinde resmi tatil ve pazar hariç gün sayısını istiyorum yani ocak ayı için

26/12/2009-06/01/2010 ocak için gün sayısı= 3 'tür ve ben istediğim 12 aydan 1 ini seçtiğimde yazdığım tarihkere göre gün sayısı versin ama hangi ayı istersem o aya göree
 
Yardım ettiğiniz için teşekkürler ama ben ay içinde resmi tatil ve pazar hariç gün sayısını istiyorum yani ocak ayı için

26/12/2009-06/01/2010 ocak için gün sayısı= 3 'tür ve ben istediğim 12 aydan 1 ini seçtiğimde yazdığım tarihkere göre gün sayısı versin ama hangi ayı istersem o aya göree
anlamadım.
Burada 2 tarih var.Ay yok.Bir tanesi başlangıç tarihi bir taneside bitiş tarihi.
Benim yazdığım ktf bu 2 tarih aralığını kapsıyor.Aslında sizin şu an kullandığınız ktf dede ayni mantık var.Bende kullandığınız ktfden yola çıkarak yaptım.:cool:
Dahah detaylı açıklarmısınız?
 
Şöyle Anlatayım

ocak tan başlatıp 12 aylık bi seçim kutusu olsun ben hangi ayı seçersem seçtiğim aya benim yazdığım tarihler (resmi tatil ve pazar hariç) olarak gün sayısı hesaplansın yani ocaksa sadece ocaktaki gün sayısı(resmi tatil ve pazar hariç)heseplansın
Mesela
26.12.2009-06.01.2010 tarihini yazdığımda ocak ayını seçtiğimde gün sayısı=3(resmi tatil ve pazar hariç)
ama aralık ayını seçersem gün sayısı= 5

Yani yazdığı tarihlere göre ay seçmeli bi makro istiyorum:) umarım anlatabildim:)
 
Yardım ettiğiniz için teşekkürler ama ben ay içinde resmi tatil ve pazar hariç gün sayısını istiyorum yani ocak ayı için

26/12/2009-06/01/2010 ocak için gün sayısı= 3 'tür ve ben istediğim 12 aydan 1 ini seçtiğimde yazdığım tarihkere göre gün sayısı versin ama hangi ayı istersem o aya göree
Sanırım siz konuyu anlatamıyorsunuz.
Ve lütfen öm il değil açtığınız başlıktan devam edelim.Konuyu takip edenlerde anlasınlar konuyu
Şimdi seçtiğim ay diyorsunuz.
Dosyanızda a sütununu Başlangıç tarihi demişsiniz.B sütununu Bitiş tarihi demişsiniz.
Ve bu duruma göre tarihler girmişsiniz.
Şimdi bu duruma göre seçtiğiniz tarih Başlangıç tarihimi oluyor.Bitiş tarihimi oluyor.Yani konu net değil.Tarihi nerden seçiyorsunuz.Tarih seçme olayıda dosyanızda yok.A ve B sütunlarına tarihler elle girilmiş.:cool:
 
dosyada ay seçimi yok zaten yapamadım ay seçimi durumu için yardım istiyorum başlangıç ve bitiş tarihi için de öreneği veriyorum zaten

ocak ayı seçiliyse(herhagi bir ay seçilebilir)
Yıllık İzin Başlangıç tarihi Yıllık İzin Bitiş tarihi Gün sayısı
26.12.2009 06.01.2010 3
hangi tarihleri yazar ve hangi ayı seçersem o aya göre hesaplama yapsın daha nasıl anlatılır bilmiyorum
 
Tarihler personelin yıllık izin başlangıç ve bitş tarihleri olacak zaten onları programdan çekiyorum rapor olarak ben sadece ay seçimi istiyorum
 
eklediğim dosyadaki gibi bi mantıkla çalışsın ama dosyada tüm günleri sayıyor benim istedğim resmi tatil ve pazar hariç sayı versin
 

Ekli dosyalar

Arkadaşlar eklediğim dosya makrolu bir dosya ve ben Personelin raporlu olduğu günleri programdan rapor olarak alıyorum ve başlangıç-bitiş tarihi şeklinde yapıştırıyorum ekteki gibi fakat yapıştırırsam dosya çalışmıyoo ancak elle yazarsam tarihleri makro çalışıyor.nedeni ne olabilir
 

Ekli dosyalar

yıllık izinde aynı mantıktaa olacak ondada ay seçimi olucak ama resmi tatil ve pazar hariç hesaplayacak ekteki dosya rapor tarihleri için yapıldı
 
yılık izin hesaplama

Sayın : evren gizlen ekte gönderdiğim dosyada yardımcı olrmusun örnejklere sizin ytazdığınız formülleriyazdım ama tarih aralarını hesaplamıyor
 

Ekli dosyalar

Sayın : evren gizlen ekte gönderdiğim dosyada yardımcı olrmusun örnejklere sizin ytazdığınız formülleriyazdım ama tarih aralarını hesaplamıyor
Bu kullanıcı tanımlı fonksiyondur.Yani bu fonksiyonları kod yazarak ben yazdım.
Onun için bu fonksiyon kodlarının standart bir modülde bulunması lazım.Bu fonksiyon excelin yerleşik bir fonksiyonu değildir.
Kullanacağınız dosyada bu fonksiyon kodlarınıda bir modüle kopyalamılısınız.
Ben kodları dosyanıza bir standart modüle koydum.
Dosyanızda ekledim.:cool:
Kod:
Function Isgunu_Pazarharic(Baslangic_Tarihi As Date, Bitis_Tarihi As Date)
Dim say As Integer
    For tarihfark = Bitis_Tarihi To Baslangic_Tarihi Step -1
        'If Weekday(tarihfark, vbMonday) = 6 Then Say = Say + 1
        If Weekday(tarihfark, vbMonday) = 7 Then say = say + 1
    Next tarihfark
Isgunu_Pazarharic = (Bitis_Tarihi - Baslangic_Tarihi) + 1 - say
End Function
Function resmi_tatiller(ilk As Date, son As Date) As Integer
Dim say As Integer, tarih As Date
For tarih = ilk To son
    If Weekday(tarih, vbMonday) <> 7 Then
        If Month(tarih) = 1 And Day(tarih) = 1 Then say = say + 1
        If Month(tarih) = 4 And Day(tarih) = 23 Then say = say + 1
        If Month(tarih) = 5 And Day(tarih) = 1 Then say = say + 1
        If Month(tarih) = 5 And Day(tarih) = 19 Then say = say + 1
        If Month(tarih) = 8 And Day(tarih) = 30 Then say = say + 1
        If Month(tarih) = 10 And Day(tarih) = 29 Then say = say + 1
    End If
Next
resmi_tatiller = say
End Function
 

Ekli dosyalar

izin

Sayın Evren Gizlen teşekkür ederim istediğim olmuş buna birde dini bayramları ekleyebilirmiyiz
 
Sayın Evren Gizlen teşekkür ederim istediğim olmuş buna birde dini bayramları ekleyebilirmiyiz

alternatif olarak bunu denermisiniz.

Kod:
Function resmi_tatiller(ilk As Date, son As Date) As Integer
Dim say As Integer, Tarih As Date
say = 0
For Tarih = ilk To son
        
If Month(Tarih) = 1 And Day(Tarih) = 1 Then say = say + 1
If Month(Tarih) = 4 And Day(Tarih) = 23 Then say = say + 1
If Month(Tarih) = 5 And Day(Tarih) = 1 Then say = say + 1
If Month(Tarih) = 5 And Day(Tarih) = 19 Then say = say + 1
If Month(Tarih) = 8 And Day(Tarih) = 30 Then say = say + 1
'If Month(Tarih) = 10 And Day(Tarih) = 28 Then say = say + 0.5
If Month(Tarih) = 10 And Day(Tarih) = 29 Then say = say + 1
Calendar = vbCalHijri
'If Month(Tarih) = 9 And Day(Tarih) = 30 Then say = say + 0.5
If Month(Tarih) = 10 And Day(Tarih) = 1 Then say = say + 1
If Month(Tarih) = 10 And Day(Tarih) = 2 Then say = say + 1
If Month(Tarih) = 10 And Day(Tarih) = 3 Then say = say + 1
'If Month(Tarih) = 12 And Day(Tarih) = 9 Then say = say + 0.5
If Month(Tarih) = 12 And Day(Tarih) = 10 Then say = say + 1
If Month(Tarih) = 12 And Day(Tarih) = 11 Then say = say + 1
If Month(Tarih) = 12 And Day(Tarih) = 12 Then say = say + 1
If Month(Tarih) = 12 And Day(Tarih) = 13 Then say = say + 1
Calendar = vbCalGreg
 
If Format(CDate(Tarih), "dddd") = "Pazar" Then say = say + 1
  
Next
resmi_tatiller = say
End Function
 
Sayın modalının yazdığı arife günlerini hesaplayan bulan ktf(fonksiyon.
Kendinize göre uyarlayınız.:cool:
Kod:
Public Function miladi_1_muharrem(yil1 As Long) As Date
Dim yil As Long

miladi_1_muharrem = CDate("25/02/1906") '1 Muharrem 1324

yil = 33 / 32 * (yil1 - 622) 'Girilen yılın hicri yılı

For x = 1324 To yil - 1
    Select Case x Mod 30
    '30 yıllık periyotlardaki artık hicri yıllar
    Case 2, 5, 7, 10, 13, 15, 18, 21, 24, 26, 29
        miladi_1_muharrem = DateAdd("d", 355, miladi_1_muharrem)
    Case Else
        miladi_1_muharrem = DateAdd("d", 354, miladi_1_muharrem)
    End Select
Next x
End Function

Public Function ramazan_b_arife(tarih As Date) As Date
Dim gun As Long

gun = 264 '30 Ramazan arife 1 Muharremden 264 gün sonra
ramazan_b_arife = DateAdd("d", gun, tarih)

End Function

Public Function kurban_b_arife(tarih As Date) As Date
Dim gun As Long

gun = 334 '9 Zilhice arife 1 Muharremden 334 gün sonra
kurban_b_arife = DateAdd("d", gun, tarih)

End Function
 
bu eklenecek modülleri yapabileceğimi zannetmiyorum benim göndermiş olduğum izin formatının içine yazabirmisiniz
 
Geri
Üst