puantaj kontrol (Çözüldü)

aligunes

Altın Üye
Katılım
2 Mart 2005
Mesajlar
304
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
09-06-2025
puantajda liste 3...4 bin kişiyi buluyor
AJ1 hücreye YIL AJ2 hücreye ay yazıyoruz
J3 ile AN3 ayın günleri belirtilmiş
listemiz 3 bin 4 bini bulabiliyor yani 4000 satıra kadar verimiz var
puantajda 1 veya x kullanıyoruz puantaj da personelin izinli olduğu günlere ücret vermemesi
için kontrol etmeniz gerekiyor izin bilğilerini e başlangıç f bitiş olarak yazıyoruz
yazacağımız macro kodu çalıştırdığımızda personelin izinli gününde hücreye 1 yazılmış ise hüzrenin kırmızı
renk olmasını istiyorum. şimdiden emek sarfeden ve yardımcı olacaklara teşekkür ediyorum.
 

Ekli dosyalar

aligunes

Altın Üye
Katılım
2 Mart 2005
Mesajlar
304
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
09-06-2025

sahra01

Altın Üye
Katılım
15 Nisan 2017
Mesajlar
9
Excel Vers. ve Dili
2013 türkçe
Altın Üyelik Bitiş Tarihi
01-01-2025
Sayın Aligunes makro şart mı?
benimkiyle ilgili farklı bir fikrim var. Çalışanlarınızın izin günlerine yanlışlıkla 1 yazmamak için, izin tarihlerini girdiğiniz anda o tarihi otomatik olarak boş bırakacak formüllü bir şey yaptım. Ekte bırakıyorum..
 

Ekli dosyalar

Erkan Akayay

Altın Üye
Katılım
8 Aralık 2006
Mesajlar
405
Excel Vers. ve Dili
Ofis 365 TR 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2028
Alternatif olarak renklendirme yapmak istiyorsanız bu işin en doğru yolu koşullu biçimlendirmedir.
Tablonuzda 3. satırdaki gün sıralamasında küçük bir değişiklik ile koşullu biçimlendirmede en hızlı sonucu alırsınız.
Örneği inceleyiniz. Dediğim format değişikliğini ve koşullu biçimlendirme formülünü inceleyiniz.
Ama hücreye elle 1 girişi yapıyorsanız @sahra01 'in belirttiği giriş engelleme daha mantıklı olur.
 

Ekli dosyalar

aligunes

Altın Üye
Katılım
2 Mart 2005
Mesajlar
304
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
09-06-2025
@Erkan Akayay tşk ederim güzel olmuş bunu buton koyarak düğmeye basınca aynı işlemi yapabilirmiyiz
 

aligunes

Altın Üye
Katılım
2 Mart 2005
Mesajlar
304
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
09-06-2025
puantajda liste 3...4 bin kişiyi buluyor
AJ1 hücreye YIL AJ2 hücreye ay yazıyoruz
J3 ile AN3 ayın günleri belirtilmiş
listemiz 3 bin 4 bini bulabiliyor yani 4000 satıra kadar verimiz var
puantajda 1 veya x kullanıyoruz puantaj da personelin izinli olduğu günlere ücret vermemesi
için kontrol etmeniz gerekiyor izin bilğilerini e başlangıç f bitiş olarak yazıyoruz
yazacağımız macro kodu çalıştırdığımızda personelin izinli gününde hücreye 1 yazılmış ise hüzrenin kırmızı
renk olmasını istiyorum. şimdiden emek sarfeden ve yardımcı olacaklara teşekkür ediyorum.
forumda bu macroyu yapabilecek arkadaş yok sanırım yada müsait olan kimse bulunamadı 4 gündür yanıtsız kaldı mesajım 2 ve 3 numaralı mesajda arkadaşlar koşullu biçimlendirme ile yanıtlamaya çalıştılar o da aj1-aj2 degerlerini baz almadan yapıyor netice alamıyorum.
 

Erkan Akayay

Altın Üye
Katılım
8 Aralık 2006
Mesajlar
405
Excel Vers. ve Dili
Ofis 365 TR 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2028
Forum ahalisinin huzuru için yazıp yazıp siliyorum. Neyse deyip boş verip geçtim. Size hayatta başarılar.
 

aligunes

Altın Üye
Katılım
2 Mart 2005
Mesajlar
304
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
09-06-2025
Çözüm önerisi olan yok mu?
 

aligunes

Altın Üye
Katılım
2 Mart 2005
Mesajlar
304
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
09-06-2025
Sub boya()
trh1 = CDate("01 " & Range("AO2") & " " & Range("AO1"))
trh2 = CDate(WorksheetFunction.EoMonth(trh1, 0))
ss = Cells(Rows.Count, 5).End(xlUp).Row
If ss < 4 Then Exit Sub
Range("J4:AN" & ss).Interior.Color = xlNone
For i = 4 To ss
If Cells(i, 5) <> Empty And Cells(i, 5) <= trh2 And Cells(i, 6) <> Empty And Cells(i, 6) >= trh1 Then
If Cells(i, 5) < trh1 Then gun1 = Day(trh1) + 9 Else gun1 = Day(Cells(i, 5)) + 9
If Cells(i, 6) > trh2 Then gun2 = Day(trh2) + 9 Else gun2 = Day(Cells(i, 6)) + 9
For k = gun1 To gun2
If Cells(i, k) = 1 Then Cells(i, k).Interior.Color = vbRed
Next k
gun1 = Empty: gun2 = Empty
End If
Next i
End Sub
 
Üst