• DİKKAT

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

Haftasonu hesaplama

Katılım
3 Eylül 2021
Mesajlar
30
Excel Vers. ve Dili
Microsoft Office Professional Plus 2016 / Türkçe
Herkese kolay gelsin.
ekte gönderemiyorum ama kabaca bahsetmem gerekirse yapmaya çalıştığım şu .;

haftasonlarına girilen mesaiyi duble hesaplamak istiyorum. her ayın haftagünleri deeğişken olduğu için bunu formülle yapmam gerekiyor. nasıl bir çözüm bulabilirim ?
 
Kendinize uyarlayınız.
Kod:
Sub haftasonumesai()
Dim gun As Single, i As Date, mesai As Integer, mesailer As String
mesai = 4
For i = Date To DateSerial(Year(Date), Month(Date) + 1, 1) -1
    If Weekday(i, 2) > 5 Then
        mesailer = mesailer & vbLf & i & " :" & mesai * 2
    End If
Next
MsgBox mesailer

End Sub
 
Haftasonlarini - haftagunu formülü ile kırmızı yapıyorum. Oraya yazdığım mesai a vardiyası 100 üzerinden hesaplanıyor. Haftasonu a vardiyası olursa 200 olmasını ist
Kendinize uyarlayınız.
Kod:
Sub haftasonumesai()
Dim gun As Single, i As Date, mesai As Integer, mesailer As String
mesai = 4
For i = Date To DateSerial(Year(Date), Month(Date) + 1, 1) -1
    If Weekday(i, 2) > 5 Then
        mesailer = mesailer & vbLf & i & " :" & mesai * 2
    End If
Next
MsgBox mesailer

End Sub
hocam siz bir excel paylaşsanız ona göre bn kndimde düzenlesem ? yapamadım çünkü
 
Siz örnek bir dosya eklerseniz ben ve arkadaşlar bakabiliriz.
 
Dosya yükleme sitelerinden bir tanesinden link verebilirsiniz.
 
Dosya yükleme sitelerinden bir tanesinden link verebilirsiniz.
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo hata
If Intersect(Target, [C5:I10]) Is Nothing Then Exit Sub
If Target.Value = "Rapor" And Target.Interior.ColorIndex = 16 Then
Target.Value = "Rpr"
Exit Sub
End If
hata:
ActiveSheet.Range("H5:I10").Replace what:="Rapor", Replacement:="Rpr", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
ActiveSheet.Range("H5:I10").Interior.ColorIndex = 16
End Sub




aslında böyle bir makro yapmışlardı beenim içim. fakat burda gri renkli h5 ı10 hücrelrine yazılan rapor yazısını rpr yapıyor. benim tablomda gri tenkli haftasonları değişken. üstteki makronun sabit değilde değişkene uygun olarak uyarlanması aslında işimi fazlasıyla görücektir. gönderdiğim tabloda ay seçince haftasonları da haliyle değişiyor. ordaki koyu gri alanlara Rapor yazınca Rpr olarak kısaltırsa hesaplama formülünden dee deaktif olacaktır ve bu yeterli gelir bana hocalarım
 
Mesailer AI sütununa ve AJ Sütununamı yazılıyor?
 
10 ncu tagda D7 H7 ye yazıyor demişsiniz.Şimdi ise ayın 31 i yazıyor dediniz.Bir çelişki var.
 
10 ncu tagda D7 H7 ye yazıyor demişsiniz.Şimdi ise ayın 31 i yazıyor dediniz.Bir çelişki var.
Hocam tekrar yazayım karışıklık oldu sanırım.
1. Personelin mesailerinin yazıldığı hücreler D7 ile AH7 arasındaki hücreler. AI7 hücresi (D7 ile AH7 arasındaki tutulan) mesailerin toplamı. AJ7 de ise hangi ay seçili ise, o ayın haftaici günleri*7 hesaplamasından çıkan çalışma saati. AJ7-AI7 ise fazla mesaiyi veriyor.
 
Geç oldu.Yarına kaldı.İyi geceler.
 
Dosyanız linktedir.
Hafta sonları D leri 14 olarak hesaplıyor.
K T F
Kod:
Function mesaisay(aralik As Range)
Dim hcr As Range, mesai As Integer
Application.Volatile
For Each hcr In aralik
    If Weekday(Cells(5, hcr.Column), 2) > 5 And hcr.Value = "D" Then
        mesai = mesai + 1
    End If
Next
mesaisay = mesai * 14
End Function


DOSYAYI İNDİR
 
Geri
Üst