DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Hocam merhaba,
örnekte olduğu gibi,Hafta tatili "H.T."hesabı kuralı,
1.Esas sorunum,Ara vermeden 6 gün çalışanın 7 gününe "H.T." yazdırmak istiyorum.
2.Eğer olabilirse 5 gün normal çalışıp+fazla mesai yapıyorsa 6 gününe "H.T." yazdırmak istiyorum.
Fazla mesai hesabı farklı,
örnegin 16 saat çalışmışsa "F.M." +1 ,12 saat çalışmışsa +0,5 olarak hesaplanıyor.
Selamlar.
Sub HT_YAZ()
8 Nolu Mesajda
End Sub
Hocam merhaba,
Hücre değerleri aylık olarak geliyor.dikey bir listeden karışık olarak geliyor.Makro ile bunun benzeri tabloya, bölümlere,şahıslara,günlere göre aktarılıyor.
Sorun,yüzlerce kişinin hafta tatili hesabı,ondada kural,
1."Aralıksız" 6 gün (7,8 gün) 1 gün "H.T" ücreti vermek. bunun için çalışmadan sonra gelen boş olan gününe "H.T." yazdırmak istiyorum.Aralıksız 6 günün altında çalışana verilmiyor.(önemli olan sorun bu)
2.Fakat şahıs.5 gün çalışmış ve bu beş gün içinde + fazla mesai yapmışsa bunada "H.T." verilir.(olabilirse iyi olur yoksa manuel tarayacagız)
burada fazla mesai kuralı, şahıs bu 5 gün içinde 12 saat ve üzeri çalışmışsa anlaşılmalıdır.
Selamlar.
Sub HT_YAZ()
For MSTF = 5 To Cells(65536, "A").End(xlUp).Row
xx = 0
zz = 0
For MM = 3 To 33
If Cells(MSTF, MM) > 1 Then
xx = xx + 1
If Cells(MSTF, MM) > 11 Then
zz = 1
End If
Else
xx = 0
zz = 0
End If
If zz = 1 Then
If xx > 4 Then
If Cells(MSTF, MM + 1) = "" Then
MM = MM + 1
Cells(MSTF, MM) = "HT"
xx = 0
End If
End If
End If
If xx >= 6 Then
If Cells(MSTF, MM + 1) = "" Then
MM = MM + 1
Cells(MSTF, MM) = "HT"
xx = 0
End If
End If
Next
Next
End Sub
Hocam merhaba,
Elinize sağlık,dosyada bu formülün uygulanmadığı sayfalarda var.toplam sayfa sayısı 20.Onun için formül başka modülde ve sayfaları tek tek açarak çalıştırıyorum.
Saygılar,Selamlar.
Merhaba,
Dosyayı değişen ve uygulanması gereken kurallara göre yeniledim.makroları dosya içerisinde açıklamaya göre düzenlemem gerekiyor.
Selamlar.
Sub HT_YAZ()
For MSTF = 5 To Cells(65536, "A").End(xlUp).Row
Cells(MSTF, "AI") = 0
'HT TOPLAMINI ALACAĞI YER AI SÜTUNU
xx = Cells(MSTF, "AK")
' GEÇEN AYDAN ÇALIİŞMALAR AK DE YAZILI OLACAK İŞLEM SONU SONRAKİ AY İÇİN HAZIRLAYACAK
zz = 0
For MM = 3 To 33
If Cells(MSTF, MM) >= 4 Then ' 4 SAAT VE ÜZERİ ŞARTI
xx = xx + 1
If Cells(MSTF, MM) > 11 Then
zz = 1
End If
Else
xx = 0
zz = 0
End If
If zz = 1 Then
If xx > 5 Then
If Cells(MSTF, MM + 1) = "" Then
MM = MM + 1
Cells(MSTF, MM) = "HT"
Cells(MSTF, "AI") = Cells(MSTF, "AI") + 1 'HT TOPLAMINI ALACAĞI YER AI SÜTUNU
xx = 0
End If
End If
End If
If xx >= 6 Then
If Cells(MSTF, MM + 1) = "" Then
MM = MM + 1
Cells(MSTF, MM) = "HT"
Cells(MSTF, "AI") = Cells(MSTF, "AI") + 1 'HT TOPLAMINI ALACAĞI YER AI SÜTUNU
xx = 0
End If
End If
Next
Next
End Sub
Sub HT59_HAZIRLA()
Dim gecenay As Integer, i As Long, k As Byte, say As Integer
Dim sonsat As Long
sonsat = Cells(Rows.Count, "B").End(xlUp).Row
Range("C5:AG" & Rows.Count).Interior.ColorIndex = xlNone
For i = 5 To sonsat
say = Cells(i, "AK").Value
For k = 3 To 33
If Cells(i, k).Value <> "" And Cells(i, k).Value >= 4 Then
say = say + 1
ElseIf say >= 6 Then
Cells(i, k).Interior.Color = vbYellow
Cells(i, k).Value = "HT"
say = 0
End If
Next k
Next i
MsgBox "Hafta tatili yazıldı.", vbOKOnly + vbInformation
End Sub
Merhaba hocam,
Elinize sağlık,4 saatten az olan çalışmaları saymayacak ve 6 gün sayıp 7'nci güne "HT" yazma kuralına göre düzenlerseniz sevinirim.
Selamlar.