• DİKKAT

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

satırda dolu hücreleri sayarak, koşula göre değer yazmak

  • Konbuyu başlatan Konbuyu başlatan cerit
  • Başlangıç tarihi Başlangıç tarihi
Katılım
1 Eylül 2012
Mesajlar
214
Excel Vers. ve Dili
2007 - 2010 Türkçe 32
Merhaba,
Satırdaki dolu hücreleri sayarak, koşula göre boş hücreye nasıl değer yazdırabilirim.
Selamlar.
 

Ekli dosyalar

Son düzenleme:
Merhaba,
Kavram kargaşasına yol açtığını düşündüğüm eki yeniledim.
Selamlar.
 
Fazla mesai nasıl tesbit ediyoruz.
8 saat üzeri mi
8,1 olanda var 8,7 olanda var hangisi fazla mesai yapmış oluyor
 
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.
 
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.

7 Gün Hücresi boş olacak (günlük girildiğini düşünüyorum)

2.Eğer olabilirse 5 gün normal çalışıp+fazla mesai yapıyorsa 6 gününe "H.T." yazdırmak istiyorum.

12 saat mesai yapanda HT yazılacak mı ?

Fazla mesai hesabı farklı,
örnegin 16 saat çalışmışsa "F.M." +1 ,12 saat çalışmışsa +0,5 olarak hesaplanıyor.
Selamlar.

+0,5 için ne gibi bir işlem yapılacak.
 
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.
 
Bir Modüle kodu ekleyin
Sayfanızda bir düğmeye bu kodu atayın.

Kod:
Sub HT_YAZ()

8 Nolu Mesajda

End Sub
 
Son düzenleme:
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.

Kodu istediğiniz şekle uyarladım
denermisiz

Kod:
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,tam istenen şekilde olmuş.Birlikte kullanacağımız makroyu profil posta adresinize gönderdim.
ona uyarlamaya çalışacağım.Saygılar,Selamlar.
 
O makro sanırım verileri buraya yüklediğin şekilde kaydediyor doğru mu ?
Eğer doğru diyorsan
Önce diğer makro ile verileri çağır sonra bizim yazdığımız macro ile HT leri yazdır.

Yada diğer makronun
Altına kopyalayın bizim makroyu
Diğer macronun End Sub dan öncesine Call HT_YAZ yazın
O macro işlemi bitince otomatik olarak bizim makro çalişmaya başlar.
 
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.
 
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.

Rica ederim
İşiniz görülüyorsa ne güzel

Uygulamak istediğiniz sayfayada buton koyarsanız o sayfada çalışır.
 
Merhaba,
Dosyayı değişen ve uygulanması gereken kurallara göre yeniledim.makroları dosya içerisinde açıklamaya göre düzenlemem gerekiyor.
Selamlar.
 

Ekli dosyalar

Son düzenleme:
Merhaba,
Dosyayı değişen ve uygulanması gereken kurallara göre yeniledim.makroları dosya içerisinde açıklamaya göre düzenlemem gerekiyor.
Selamlar.

Kod:
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
 
Hocam merhaba,
Elinize sağlık,istediğim gibi olmuş.
İyi bayramlar.
Selamlar.
 
dolu hücre sayarak değer yazmak

Merhaba,
şu ana kadar sağolsun m.mutlu hocamın yardımıyla işimi gördüm.fakat dosyayı değişen ve uygulanması gereken kurallara göre yeniledim.Ona göre düzenlemem gerekiyor.
Selamlar.
 

Ekli dosyalar

Dosyanız ektedir.:cool:
Kod:
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
 

Ekli dosyalar

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.
 
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.

18 nolu mesajda dosyayı güncelledim.
4 saate eşit ve 4 saatten büyük hücreleri sayıyor.:cool:
 
Geri
Üst