• DİKKAT

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

İzin Takip Programı

  • Konbuyu başlatan Konbuyu başlatan KAZIMM
  • Başlangıç tarihi Başlangıç tarihi
bizim istediğimiz örneğin TextBox1 içine yazılan izin başlama tarihi 01.01.2009 kullanılan izin süreside TextBox2 = 70 gün olsun Göreve Başlama Tarihi TextBox3 =11.03.2009 olur şimdi Ocak ayına TextBoxa 31 Şubat ayına TextBoxa 28 ve Mart ayınada TextBoxa 11 gün olarak atmasını istiyoruz form üzerinde TextBoxlarda hesaplama yapsın istiyoruz
 
geçen hafta çözüm bulamadık bu hafta tekrar Arkadaşlar yukarıda 2. mesajda yapmak istediğim konusunda yardımcı olursanız sevinirim
 
bir kaç gündür uğraşıyorum böyle birşey yaptım bir bak
 

Ekli dosyalar

Kardeş elinize sağlık güzel olmuş ,size zahmet verdik şu düzeltmeler olursa istediğimiz sonuca ulaşılır.
gönderdiğiniz dosyada örneğin 01.01.2009 tarihinden itibaren 59 gün izin veya rapor alırsa ocak ayına 31 şubat ayına 28 gün atıyor
ancak
1- 01.01.2009 tarihinden itibaren 90 gün izin veya rapor alan pesonele ocak ayına 31 Şubat ayına 28 gün ve mart ayına ve diğer aylara birşey atmıyor
2- 10.01.2009 itibaren 30 gün izin alan personele ocak ayına ait 21 gün ve şubat ayına ait 9 gün atması gerekirken ocak ayına 30 gün atıyor
3- 01.01.2009 tarihinden itibaren 5 gün izin alan ve 06.01.2009 tarihinden itibaren de 5 gün izin alan personele ocak ayı olarak 10 gün atması lazım atmıyor
 
ben bunu ancak bu hale getirdim 2 ay dan sonraki izinleri 3 aya atmıyor ancak 2 ayda ve 3 ayda izin varsa bunları görüyor başka türlü olmuyor
 
Aslında Aşağıdaki formülü fonksiyon olarak düzenlesek sonuca ulaşmış olacağız

EĞER(MAK(0;(MİN(CY3;TARİH(YIL($GX$2);AY($GX$2)+1;0))-MAK(CW3;$GX$2)+1))=0;"";MAK(0;(MİN(CY3;TARİH(YIL($GX$2);AY($GX$2)+1;0))-MAK(CW3;$GX$2)+1))))

Yukarıdaki formülün açıklaması

CY3= İzin Bitiş tarihi
$GX$2 = 01.01.2009

CW3 İzin Başlama Tarihi
 
'EĞER(MAK(0;(MİN(CY3;TARİH(YIL($GX$2);AY($GX$2)+1;0))-MAK(CW3;$GX$2)+1))=0;"";MAK(0;(MİN(CY3;TARİH(YIL($GX$2);AY($GX$2)+1;0))-MAK(CW3;$GX$2)+1))))

dün akşam yukarıdaki formülü aşağıdaki şekilde uyarlamaya çalıştım olmadı
formül çalışmıyor

'T4=IF(MAK(0;(MİN(T16;DATE(YEAR(01.01.2009);MONTH(01.01.2009)+1;0))-MAK(T18;01.01.2009)+1))=0;"";MAK(0;(MİN(T16;DATE(YEAR(01.01.2009);MONTH(01.01.2009)+1;0))-MAK(T18;01.01.2009)+1)))
 
siteden aşağıdaki şekilde bir makro buldum ama izin formuna uyarlayamadım yardımcı olacak arkadaşlara şimdiden teşekürler

Sub Hesapla2008()
Const s1 As String = _
"=SUMPRODUCT((TEXT(Tarih,""aaaa"")=R2C)*(YEAR(Tarih)=R1C3)*(Adi_Soyadi=RC1)*(Mesai))"
basla = Time
Application.ScreenUpdating = False
Range("C3:N" & [C65536].End(3).Row + 1).ClearContents
Dim iLastrow As Long
iLastrow = Cells(Rows.Count, "A").End(xlUp).Row
For i = 3 To [A65536].End(xlUp).Row
Cells(i, "C").FormulaR1C1 = s1
Cells(i, "D").FormulaR1C1 = s1
Cells(i, "E").FormulaR1C1 = s1
Cells(i, "F").FormulaR1C1 = s1
Cells(i, "G").FormulaR1C1 = s1
Cells(i, "H").FormulaR1C1 = s1
Cells(i, "I").FormulaR1C1 = s1
Cells(i, "J").FormulaR1C1 = s1
Cells(i, "K").FormulaR1C1 = s1
Cells(i, "L").FormulaR1C1 = s1
Cells(i, "M").FormulaR1C1 = s1
Cells(i, "N").FormulaR1C1 = s1
Next i
Range("C3:N" & [C65536].End(3).Row) = Range("C3:N" & [C65536].End(3).Row).Value
bitis = Time
Application.ScreenUpdating = True
CreateObject("WScript.Shell").Popup _
"Raporlandı.." & Chr(13) & Chr(13) & "Sorgulama Süresi: " & Format(bitis - basla, "hh:mm:ss"), 1, "UYARI", vbInformation
End Sub
 
'2 gün uğraştım ançak ocak ayı konusunda ip ucu buldum izin başalama tarih ocak ayına aitse diğer aylara düzenli atıyor , ama izin başlama tarihi subat ayı ve diğer aylar ise düzen bozuluyor . ustalar bu konuya el atarlarsa sevinirim.

Sub tarih()
Dim ocak1 As Date
Dim ocak2 As Date
Dim subat1 As Date
Dim subat2 As Date
ocak1 = "01/01/2009"
ocak2 = "31/01/2009"
subat1 = "01/02/2009"
subat2 = "28/02/2009"
mart1 = "01/03/2009"
mart2 = "31/03/2009"
'OCAK AYI İÇİN T1
If T1 >= ocak1 And T3 <= ocak2 Then
T4 = T2
Else
T4 = Int(33 - Val(T1))
If (T2 - T4) <= 28 Then T5 = (T2 - T4) 'Şubat ayına atar
If (T2 - T4) > 28 Then T5 = 28

If T2 - 59 <= 31 Then T6 = (T2 - 59) 'Mart ayına atar
If T2 - 59 > 31 Then T6 = 31

If T2 - 90 <= 30 Then T7 = (T2 - 90) 'Nisan ayına atar
If T2 - 90 > 30 Then T7 = 30

If T2 - 121 <= 31 Then T8 = (T2 - 121) 'Mayıs ayına atar
If T2 - 121 > 31 Then T8 = 31

Exit Sub
End If
End Sub


Dosyayı ekte gönderiyorum
 

Ekli dosyalar

Ustalar neredeyse iki hafta oldu ancak konuyu çözüme kavuşturamadık
Yardımlarınızı bekliyorum
 
Geri
Üst