DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub subİzinHakedisleri()
Dim Csf As Excel.Worksheet: Set Csf = ActiveSheet
Dim dtİseGiris As Date, dtBugün As Date
With Csf
If Not IsDate(.Cells(3, 6).Value) Then GoTo son
dtİseGiris = .Cells(3, 6).Value
dtBugün = CDate(Format(Now, "dd.mm.yyyy"))
geçenyıl = Year(dtBugün) - Year(dtİseGiris)
satır = 6
[COLOR=Green]'Böyle daha güzel oldu yazarken dikkat etmemişim ;)[/COLOR]
with .Range(.Cells(7, 5), .Cells(50, 8))
.value = Empty
.Interior.Color = xlNone
end with
For i = 1 To geçenyıl
dtKars = CDate(Day(dtİseGiris) & "/" & Month(dtİseGiris) & "/" & Year(dtİseGiris) + i)
If dtKars <= dtBugün Then
satır = satır + 1
.Cells(satır, 5).Value = (Year(dtİseGiris) + i) - 1
.Cells(satır, 6).Value = dtKars
.Cells(satır, 7).Value = i
If i < 6 Then
.Cells(satır, 8).Value =[COLOR=Red] 14[/COLOR]
ElseIf i < 15 Then
.Cells(satır, 8).Value =[COLOR=Red] 28[/COLOR]
ElseIf i >= 15 Then
.Cells(satır, 8).Value = 28 '[COLOR=Red]56[/COLOR] 'iş kanuna göre 26 günden az olamaz diyor. 28 olabilir.
End If
.Range(.Cells(satır, 5), .Cells(satır, 8)).Interior.Color = vbYellow
End If
Next i
End With 'csf
son:
Set Csf = Nothing
End Sub
Private Sub Workbook_Open()
For i = 1 To Worksheets.Count
Call subİzinHakedisleri
Next i
End Sub
'Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'Call subİzinHakedisleri
'End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, [F3]) Is Nothing Then Exit Sub
Call subİzinHakedisleri
End Sub
http://www.alomaliye.com/bilgi_ucretli_izin.htmYıllık ücretli izin hakkı ve izin süreleri
MADDE 53. - İşyerinde işe başladığı günden itibaren, deneme süresi de içinde olmak üzere, en az bir yıl çalışmış olan işçilere yıllık ücretli izin verilir.
Yıllık ücretli izin hakkından vazgeçilemez.
Niteliklerinden ötürü bir yıldan az süren mevsimlik veya kampanya işlerinde çalışanlara bu Kanunun yıllık ücretli izinlere ilişkin hükümleri uygulanmaz.
İşçilere verilecek yıllık ücretli izin süresi, hizmet süresi;
a) Bir yıldan beş yıla kadar (beş yıl dahil) olanlara ondört günden,
b) Beş yıldan fazla onbeş yıldan az olanlara yirmi günden,
c) Onbeş yıl (dahil) ve daha fazla olanlara yirmialtı günden,
Az olamaz.
Ancak onsekiz ve daha küçük yaştaki işçilerle elli ve daha yukarı yaştaki işçilere verilecek yıllık ücretli izin süresi yirmi günden az olamaz.
Yıllık izin süreleri iş sözleşmeleri ve toplu iş sözleşmeleri ile artırılabilir.
Yıllık ücretli izne hak kazanma ve izni kullanma dönemi
kırmıızı satırın sizinle alakası yok. konuyu takip ederken dikkatimi çekti.Yıllık ücretli iznin uygulanması
MADDE 56. - Yıllık ücretli izin işveren tarafından bölünemez.
Bu iznin 53 üncü maddede gösterilen süreler içinde işveren tarafından sürekli bir şekilde verilmesi zorunludur.
Ancak, 53 üncü maddede öngörülen izin süreleri, tarafların anlaşması ile bir bölümü on günden aşağı olmamak üzere en çok üçe bölünebilir.
İşveren tarafından yıl içinde verilmiş bulunan diğer ücretli ve ücretsiz izinler veya dinlenme ve hastalık izinleri yıllık izne mahsup edilemez.
Yıllık ücretli izin günlerinin hesabında izin süresine rastlayan ulusal bayram, hafta tatili ve genel tatil günleri izin süresinden sayılmaz.
Yıllık ücretli izinleri işyerinin kurulu bulunduğu yerden başka bir yerde geçirecek olanlara istemde bulunmaları ve bu hususu belgelemeleri koşulu ile gidiş ve dönüşlerinde yolda geçecek süreleri karşılamak üzere işveren toplam dört güne kadar ücretsiz izin vermek zorundadır. İşveren, işyerinde çalışan işçilerin yıllık ücretli izinlerini gösterir izin kayıt belgesi tutmak zorundadır.
Selamlar
Tek kişi için bir sayfada izin hesabı yaptırmak istiyorum ama yardımcı olabilirmisiniz ?
İlgili notlar ekteki dosyadadır.
Not: Lütfen zip rar olarak eklemeyiniz, direkt xls dosya ekleyiniz.
inceleyiniz.
Birde 15 yıl dan sonraki izin süresi ne kadardı ben unuttum. benim hatırladığım 14,21,30 diye gidiyordu. kırmızı değerleri ona göre revize ediniz.
bir module
Thisworkbook modulüneKod:Sub subİzinHakedisleri() Dim Csf As Excel.Worksheet: Set Csf = ActiveSheet Dim dtİseGiris As Date, dtBugün As Date With Csf If Not IsDate(.Cells(3, 6).Value) Then GoTo son dtİseGiris = .Cells(3, 6).Value dtBugün = CDate(Format(Now, "dd.mm.yyyy")) geçenyıl = Year(dtBugün) - Year(dtİseGiris) satır = 6 [COLOR=Green]'Böyle daha güzel oldu yazarken dikkat etmemişim ;)[/COLOR] with .Range(.Cells(7, 5), .Cells(50, 8)) .value = Empty .Interior.Color = xlNone end with For i = 1 To geçenyıl dtKars = CDate(Day(dtİseGiris) & "/" & Month(dtİseGiris) & "/" & Year(dtİseGiris) + i) If dtKars <= dtBugün Then satır = satır + 1 .Cells(satır, 5).Value = (Year(dtİseGiris) + i) - 1 .Cells(satır, 6).Value = dtKars .Cells(satır, 7).Value = i If i < 6 Then .Cells(satır, 8).Value =[COLOR=Red] 14[/COLOR] ElseIf i < 15 Then .Cells(satır, 8).Value =[COLOR=Red] 28[/COLOR] ElseIf i >= 15 Then .Cells(satır, 8).Value = 28 '[COLOR=Red]56[/COLOR] 'iş kanuna göre 26 günden az olamaz diyor. 28 olabilir. End If .Range(.Cells(satır, 5), .Cells(satır, 8)).Interior.Color = vbYellow End If Next i End With 'csf son: Set Csf = Nothing End Sub
Kod:Private Sub Workbook_Open() For i = 1 To Worksheets.Count Call subİzinHakedisleri Next i End Sub 'Private Sub Workbook_SheetActivate(ByVal Sh As Object) 'Call subİzinHakedisleri 'End Sub Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Intersect(Target, [F3]) Is Nothing Then Exit Sub Call subİzinHakedisleri End Sub