• DİKKAT

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

Personel puantaj makrosu sorunu..

Katılım
26 Nisan 2009
Mesajlar
156
Excel Vers. ve Dili
excel 2003 türkçe
Örnek 25.12.2016 tarihinden geçerli 20 gün izine çıktı; ayrılmaya 25.12.2015 başlamaya 15.01.2016 girdiğimde eğer 12. ayın puantajını yapıyorsam 25 inden sonraki 5 çentik kalkması lazım ama 01. ayın puantajını yapıyorsam ilk 15 günlük çentik kalkması lazım..

Bunu yapabilirseniz çok harika olacak bu şekilde işime yaramıyor malesef..

http://www.yukletr.com/download.php?file=48060b01f6f6cb3e7f96e8aa581c8e64
 
Son düzenleme:
dosya linki hatalı

yeniledim hocam linki yardım ederseniz sevinirim.

Örnek 25.12.2016 tarihinden geçerli 20 gün izine çıktı; ayrılmaya 25.12.2015 başlamaya 15.01.2016 girdiğimde eğer 12. ayın puantajını yapıyorsam 25 inden sonraki 5 çentik kalkması lazım ama 01. ayın puantajını yapıyorsam ilk 15 günlük çentik kalkması lazım..

Bunu yapabilirseniz çok harika olacak bu şekilde işime yaramıyor malesef..

http://www.yukletr.com/download.php?file=48060b01f6f6cb3e7f96e8aa581c8e64
 
Son düzenleme:
yardımlarınızı bekliyorum hocalarımdan
 
vardar07 abi sen harıkasın abı cok guzel olmus ellerıne saglık.. Allah razı olsun yardımların için sayende altın üyelik alacam siteden..

abım son hali bu oldu cokda guzel oldu ama hatalar var..
son duzeltmelerı yaparmısın..

-icmal sayfasında toplam almıyor
-üzerindeki örnekte oluyor ama ben 1. aydan 2. aya sarkan tarihlerle deniyorum centıklerı yanlıs kaldırıyor, ilgili ayı kapsayan bolumu kaldırmıyor abı.
-bırden fazla tarıh gırınce de end debug hatası alıyorum abı.
 
Son düzenleme:
#7 nolu mesajdaki dosyalar yenilendi.
Lütfen aynı sorun için tekrar tekrar konu açmayın. Sizde takip edemezsiniz bizde sürekli cevap yazma zorunda kalmayalım.
 
vardar07 abim güncellediğin dosyalrı aldım toplama işini halletmişin eline sağlık.
ancak 15.01.2016 ile 10.02.2016 tarihlerini veri olarak giriyorum.
icmal kısmından yıl 2016 yı secıyorum, ayı 1. ay secıyorum 15.den sonrakı centıkler kalkıyor sıkıntı yok.
ama 2. ayı secıyorum üstten gene aynı centtikler kalkıyor halbuki 2. ayı sectiğimde ilk 9 centik kalkması lazım..

demek istediğimi örnek içinde yaptım bakarsanız sevınırım..
http://www.yukletr.com/download.php?file=4fd60f64401419a474540826d2883671
 
Kodları değiştirip denermisiniz.
Kod:
Sub aktar()
Dim n, i As Worksheet
Set n = Sheets("İZİNLİLER")
Set i = Sheets("İCMAL")
a = i.Range("b65536").End(3).Row
If a > 5 Then i.Range("A6:AL" & Range("A65536").End(3).Row).ClearContents
i.Range("B6:AK326").Interior.ColorIndex = 2
For mv = 5 To 9
If n.Cells(mv, "h") <> "" Then
ilkt = Year(n.Cells(mv, "g")) & "." & Format(Month(n.Cells(mv, "g")), "0#")
sont = Year(n.Cells(mv, "h")) & "." & Format(Month(n.Cells(mv, "h")), "0#")
son = i.Range("B65536").End(3).Row + 1
xa = i.Cells(1, "E") & "." & Format(i.Cells(1, "C"), "0#")
If ilkt = xa Or sont = xa Then
If WorksheetFunction.CountIf(i.Range("B:B"), n.Cells(mv, "B")) = 0 Then '3
        i.Cells(son, 1) = WorksheetFunction.Max(i.Range("A5:A" & [A65536].End(3).Row)) + 1
        i.Cells(son, 2) = n.Cells(mv, 2)
        i.Cells(son, 3) = n.Cells(mv, 3)
        i.Cells(son, 4) = n.Cells(mv, 4)
        i.Cells(son, 5) = n.Cells(mv, 5)
        i.Cells(son, 6) = n.Cells(mv, 6)
End If
sat = WorksheetFunction.Match(n.Cells(mv, 2), i.Range("B:B"), 0)
i.Range("g" & sat & ":AK" & sat) = 1
If Year(n.Cells(mv, "g")) < Year(n.Cells(mv, "h")) And Month(n.Cells(mv, "h")) = i.Cells(1, "C") Then
ilksut = Day(n.Cells(mv, "j")) + 6
If ilksut = 37 Then
ilksut = 7
End If
sonsut = Day(n.Cells(mv, "h")) + 5
Else
ilksut = Day(n.Cells(mv, "G")) + 6
sonsut = Day(n.Cells(mv, "ı")) + 6
End If
If Year(n.Cells(mv, "g")) = Year(n.Cells(mv, "h")) Then
If Year(n.Cells(mv, "g")) & Month(n.Cells(mv, "g")) < Year(n.Cells(mv, "h")) & Month(n.Cells(mv, "h")) _
And Month(n.Cells(mv, "h")) = i.Cells(1, "C") Then
ilksut = Day(n.Cells(mv, "j")) + 6
sonsut = Day(n.Cells(mv, "h")) + 5
Else
ilksut = Day(n.Cells(mv, "g")) + 6
sonsut = Day(n.Cells(mv, "ı")) + 6
End If
End If
If Year(n.Cells(mv, "g")) = Year(n.Cells(mv, "h")) Then
If Year(n.Cells(mv, "g")) & Month(n.Cells(mv, "g")) = Year(n.Cells(mv, "h")) & Month(n.Cells(mv, "h")) Then
ilksut = Day(n.Cells(mv, "G")) + 6
sonsut = Day(n.Cells(mv, "H")) + 5
End If
End If
 i.Range(i.Cells(sat, ilksut), i.Cells(sat, sonsut)) = ""
    i.Range(i.Cells(sat, ilksut), i.Cells(sat, sonsut)).Interior.ColorIndex = 3
i.Range("AL" & sat) = WorksheetFunction.CountIf(i.Range("G" & sat & ":AK" & sat), 1)
End If
End If
Next
End Sub
 
vardar07 abi olumsuz abı kodlar gene yapmıyor malesef.. sana zahmet bırde sen denersen abı.. durum aynı
 
vardar07 abi mazeret kısmına aynı kişiye aynı sütuna birden fazla mazeret giremiyorum..

ben bır kısıye hem rapor hem senelık ızın hemde baska mazeretlerı alt enter yaparak altalta yazıyorum tarihlerinide karsılıgına gelecek sekılde alt enterle yazıyorum..

ÖRNEK:
REMZİ ŞEN.............SENELİK İZİN..................... 01.01.2016....................... 09.01.2016
................................RAPOR...........................12.01.2016........................ 18.01.2016
................................SINAV............................25.01.2016........................ 05.02.2016


şuan bu sekilde yapınca end debug hatası verıyor

bunu 3 veya 4 mazeret girecek şekilde ayarlayabilirmisin..

abi sayende siteye altın üye olmaya karar verdim.. herşey için teşekkürler..
 
Son düzenleme:
abi dosyaya baktım aynı kişinin mazeretlerini aynı sutuna gırmeyınce bu dosya benım ısımı cok zorlastırıyor ve karıstırıyor.

gonderdıgın dosyayı ınceledım mazeretı olmayan kısılerı ıcmale tasımıyor.
mazereti olmayan personeli icmale taşıyıp karşılığı ay boyunca 1 çıkması lazım..
1 lerin toplamıda toplam kısmında çıkmıyor abi.

hakkını helal et abı..

baska bır arkadas farklı bır calısma yapıp 4 mazerete göre ayarlamıstı bu tam benım ıstedıgım gibi olmuştu mazeret şekli dosyayı yukluyorum. bunun ıcındekı kodları senın yaptıgın dosyaya uyarlarsan cok memnun olurum.

senın yaptıgın cok profesyonel oldu cok begendım..

4 mazeretlı yapılan dosya asagıda

http://www.yukletr.com/download.php?file=2c966e248e088aed7e1ce96b57643260
 
Son düzenleme:
Sayın muzo696
örnek dosyayı ekledim.
http://s6.dosya.tc/server5/9o9hob/nobet_icmali_.zip.html
UYARI
1. Ayrılma-Başlama olarak değil, Ayrılma-Bitiş (İzinin son günü) şeklinde girin
2. 23 Şubatta başlayan izin 5 Martta bitiyorsa;
Şubat ayının mizanı alırken 23.02.2016-29.02.2016 şeklinde
Mart ayının mizanı alırken 01.03.2016-05.03.2016 şeklinde ayrı ayrı girin
3. Mazeretler tarihleri arasını boşluk olarak yaptım. (Benim bilgisayarda alt enter yapılmıyor) Siz alt enter yapıyorsanız. Kodlardaki
Kod:
If UBound(Split(s1.Range("G" & e), " ")) <> UBound(Split(s1.Range("H" & e), " ")) Then
'If UBound(Split(s1.Range("G" & e), Chr(10))) <> UBound(Split(s1.Range("H" & e), Chr(10))) Then
ilk satırı silin, ikinci satırın başındaki tek tırnağı kaldırın. diğer satırları da aynı şekilde düzeltin.
4. Daha sonra sayfaların üstüne (başlık bölümüne) satır veya sütun eklerseniz yanlış sonuç verir.
 
vardar hocam bu kırmızı ile kapalı alanlara raporlu olanra r yıllık izinde olanlara yi resmi tatile rt şeklinde ayarlama durumu var mıdır acaba?
 
Geri
Üst