• DİKKAT

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

Personel puantaj makrosu sorunu..

Vardar07 abi #18 deki mesajima bakarsaniz sevinirim ornek dosya da attim..
 
Vardar07 abi #18 deki mesajima bakarsaniz sevinirim ornek dosya da attim..

O dosya size ömer bey in yazdığı benim düzenlediğim dosya.
dosyanız sıkıntılı neredeyse her hücreye en az 3 ~ 4 kriterler uygulanması lazım.
1.İsim kontrolü
2.g-h hücresi yıl kotrolü
3. g-h ay kontrolü
4.ilk tarih son tarih kontrolü.
5. g-h hücresi kaç veri kontrolü.
6. g-h veri 1den çoksa sayısı kadar kontrolü.(madde 4 e dön)
Mantığını kurulabilirse sizin istediğiniz olabilir. Yarın birde sayın hacked in istediği olursa sil baştan. Bu olayı çözmek için kafa ve zaman lazım. Malesef bu olaya ayrılacak o kadar zamanım yok. Boş vakit buldukça parça parça yazıp sonra birleştirebiliriz. Kolay gelsin.
 
vardar07 abi #18 gonderdigim dosya omer beyin yaptiginin uzerine baska bir arakadasin ayni sutuna fazla mazeret girnenin kodlarini eklemisti. Bu tam benim istedigim olmustu sizin en son yaptiginiz dosyaya o kodlari uyarlayabilirseniz harika olacak.. Benim isime o kadar cok yarayacak ki..
 
vardar07 hocam alicimri bey bir çalışma yapmış birden fazla mazeret girebiliyorum ve herkesi icmale taşıyıp mazereti olmayanlara 1 atıyor benım ıstedıgım gıbı ancak eksık kısmı;
 
Son düzenleme:
vardar07 hocam alicimri bey bir çalışma yapmış birden fazla mazeret girebiliyorum ve herkesi icmale taşıyıp mazereti olmayanlara 1 atıyor benım ıstedıgım gıbı ancak eksık kısmı;

sizin yaptıgınız dosyadaki gibi bir sonrakı aya sarkanları dıger ayı secınce aktarmıyor.. size zahmet onu ayarlarsanız dosya tam benım ıstedıgım gıbı olacak..
 
vardar07 ve alicimri bey yardımlarınızı bekliyorum..
 
vardar07 hocam alicimri bey bir çalışma yapmış birden fazla mazeret girebiliyorum ve herkesi icmale taşıyıp mazereti olmayanlara 1 atıyor benım ıstedıgım gıbı ancak eksık kısmı;

sizin yaptıgınız dosyadaki gibi bir sonrakı aya sarkanları dıger ayı secınce aktarmıyor.. size zahmet onu ayarlarsanız dosya tam benım ıstedıgım gıbı olacak..

Siz ya mesajları okumuyorsunuz yada okuyup anlamamazlıktan geliyorsunuz. 22 nolu mesajda bir şeyler anlatmaya çalıştım. Biz bir ücret karşılığı iş yapmıyoruz. Ayrıca onun dışında da beklentimiz yok. İstersen boş bir zamanınızda 22 nolu mesajı bir daha oku ne demek istediğimi daha iyi anlarsınız.
 
vardar07 abı kusura bakma bu ara çok lazımdı onun için biraz ısrar etmiştim sizden haber bekliyorum abi vaktiniz olursa bakarsanız çok sevinirim...
 
vardar 07 abi dosya harika oldu ama bi eksiği giderirken düzeltiğimiz yerlerde bozuluyor..

gönderdiğiniz dosyada herşey harika olmuş ama bir sonraki aya sarkan tarihleri atmıyor..
ızın başlama tarihi mesala 14.01.2016 göreve başlama tarihi 10.02.2016 olan bir örnekte; ocak ayından ayın 14 ve onrasındaki çentikler boyanacak, şubat ayının icmali seçildiğinde ilk 9 günün çentiği kalkacak. bu sorunu daha önce düzeltmiştiniz ama bu dosyada çalışmıyor..

son olarak buna bakabilirmisiniz.
 
Son düzenleme:
Sayın vardar07
Yardım dosyasına vba şifresi koymuşsunuz.
:):):)
 
#31 nolu mesajdan kontrol ediniz.


vardar07 abim dosyayı denedim 1. ayı yaptım harika çalışıyor fakat 2. ayı yaptığımda sayfada birçok hata çıkıyor. örnek dosyayı yükledim yapmış olduğum denemeyi bakabilirmisin..

abi birde şifre koymussun galiba şifre nedir abi yardımcı olacak diğer arkadaşlar soruyor..
 
Son düzenleme:
vardar07 abim dosyayı denedim 1. ayı yaptım harika çalışıyor fakat 2. ayı yaptığımda sayfada birçok hata çıkıyor. örnek dosyayı yükledim yapmış olduğum denemeyi bakabilirmisin..

ne yapmak ıstedıgımı anladın abım dosyayı hazırlayınca 4-5 ornek le deneyıp atabılırmısın bana sana zahmet..
 
Son düzenleme:
Şifresiz dir. Bir daha isim kullanarak lütfen yardım istemeyin çünki diğer arkadaşlar cevap vermeyebilir. Artık bu konuyla oldu yada olmadı ilgilenemeyeceğim.
NOBET_ICMALI_13022016.rarl
 
abi harika olmuş ellerine sağlık denedim 2. ayı yaparken sadece mazereti olanlara 29 gun uzerınden olmayanları 31 gun uzerınden hesaplıyor.. gözünden kaçmış galiba.. bu sorunuda duzeltıp dosyayı guncellermısın sana zahmet..
 
Son düzenleme:
Deneme modülü içindeki aktar kod bloğunu aşağıdaki ile değiştirin.
Kod:
Sub aktar()
On Error Resume Next
Application.ScreenUpdating = False
 Set n = Sheets("İZİNLİLER"): Set i = Sheets("İCMAL")
a = i.Range("b1048576").End(3).Row
If a > 5 Then i.Range("A6:AL" & a).ClearContents
i.Range("G6:AK" & a).Interior.ColorIndex = 2
For mv = 5 To n.Range("B1048576").End(3).Row
son = i.Range("B1048576").End(3).Row + 1

xa = i.Cells(1, "E") & "." & Format(i.Cells(1, "C"), "0#")
m = Len(n.Cells(mv, 7))

If n.Cells(mv, 2) = "" Then GoTo sn
If n.Cells(mv, 2) <> "" And n.Cells(mv, 6) = "" Then
a = i.Cells(1, "E") & "." & i.Cells(1, "C") & "." & 1
sgun = Day(DateSerial(Year(a), Format(Month(a), "0#") + 1, 0))
sade
GoTo sn
End If

If n.Cells(mv, "G") <> "" Then
If m > 10 Then
  If m > 5 Then mm = 1
  If m > 11 Then mm = 2
  If m > 22 Then mm = 3
  If m > 33 Then mm = 4
v = v + 1

   If v > mm Then: v = 0: GoTo sn
   Call ilk_son
GoTo 5
Else
If Year(n.Cells(mv, "G")) < Year(n.Cells(mv, "H")) And Month(n.Cells(mv, "G")) = i.Cells(1, "C") Then
ilkt = Year(n.Cells(mv, "G")) & "." & Format(Month(n.Cells(mv, "G")), "0#")
sont = Year(n.Cells(mv, "G")) & "." & Format(Month(n.Cells(mv, "G")), "0#")

ElseIf Year(n.Cells(mv, "G")) < Year(n.Cells(mv, "H")) And Month(n.Cells(mv, "H")) = i.Cells(1, "C") Then
ilkt = Year(n.Cells(mv, "H")) & "." & Format(Month(n.Cells(mv, "H")), "0#")
sont = Year(n.Cells(mv, "H")) & "." & Format(Month(n.Cells(mv, "H")), "0#")

ElseIf Year(n.Cells(mv, "G")) = Year(n.Cells(mv, "H")) And Month(n.Cells(mv, "G")) = i.Cells(1, "C") _
And Month(n.Cells(mv, "H")) = i.Cells(1, "C") 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#")

ElseIf Year(n.Cells(mv, "G")) = Year(n.Cells(mv, "H")) And Month(n.Cells(mv, "G")) = i.Cells(1, "C") Then
ilkt = Year(n.Cells(mv, "G")) & "." & Format(Month(n.Cells(mv, "G")), "0#")
sont = Year(n.Cells(mv, "G")) & "." & Format(Month(n.Cells(mv, "G")), "0#")

ElseIf Year(n.Cells(mv, "G")) = Year(n.Cells(mv, "H")) And Month(n.Cells(mv, "H")) = i.Cells(1, "C") Then
ilkt = Year(n.Cells(mv, "H")) & "." & Format(Month(n.Cells(mv, "H")), "0#")
sont = Year(n.Cells(mv, "H")) & "." & Format(Month(n.Cells(mv, "H")), "0#")
End If
End If
5:
If ilkt = xa Or sont = xa Then
    i.Cells(son, 1) = WorksheetFunction.Max(i.Range("A2:A" & son)) + 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)
  tgun = Day(DateSerial(Year(sont), Month(sont) + 1, 0))
 i.Range(i.Cells(son, 7), i.Cells(son, tgun + 6)) = 1
If n.Cells(mv, 7) <> "" And n.Cells(mv, 8) <> "" Then
  If m > 10 Then
If m > 4 Then mm = 1
If m > 11 Then mm = 2
If m > 22 Then mm = 3
If m > 33 Then mm = 4
15:
vv = vv + 1
i.Cells(son, 5) = vv

      If vv > mm Then: vv = 0: GoTo sn
       Call buyuk: GoTo 15
       Else
      If Year(n.Cells(mv, "G")) < Year(n.Cells(mv, "H")) And Month(n.Cells(mv, "G")) = i.Cells(1, "C") Then 'Yılküçük ayrılma eşit c1e
   sgun = Day(DateSerial(Year(n.Cells(mv, "G")), Month(n.Cells(mv, "G")) + 1, 0))
   ilksut = Day(n.Cells(mv, "G")) + 6
   sonsut = sgun + 6
ElseIf Year(n.Cells(mv, "G")) < Year(n.Cells(mv, "H")) And Month(n.Cells(mv, "H")) = i.Cells(1, "C") Then 'Yılküçük başlama eşit c1e
   igun = Day(DateSerial(Year(n.Cells(mv, "G")), Month(n.Cells(mv, "G")), 1))
   ilksut = igun + 6
   sonsut = Day(n.Cells(mv, "H")) + 5
   
ElseIf Year(n.Cells(mv, "G")) = Year(n.Cells(mv, "H")) And Month(n.Cells(mv, "G")) = Month(n.Cells(mv, "H")) _
And Month(n.Cells(mv, "G")) = i.Cells(1, "C") Then 'yıl eşit ay eşit c1
   

ilksut = Day(n.Cells(mv, "G")) + 6
sonsut = Day(n.Cells(mv, "H")) + 5

ElseIf Year(n.Cells(mv, "G")) = Year(n.Cells(mv, "H")) And Month(n.Cells(mv, "G")) < Month(n.Cells(mv, "H")) And Month(n.Cells(mv, "G")) = i.Cells(1, "C") Then 'yıleşit ay küçük
sgun = Day(DateSerial(Year(n.Cells(mv, "G")), Month(n.Cells(mv, "G")) + 1, 0))
ilksut = Day(n.Cells(mv, "G")) + 6
sonsut = sgun + 6
ElseIf Year(n.Cells(mv, "G")) = Year(n.Cells(mv, "H")) And Month(n.Cells(mv, "G")) < Month(n.Cells(mv, "H")) And Month(n.Cells(mv, "H")) = i.Cells(1, "C") Then 'yıl eşit ay büyük
igun = Day(DateSerial(Year(n.Cells(mv, "H")), Month(n.Cells(mv, "H")), 1))
ilksut = igun + 6
sonsut = Day(n.Cells(mv, "H")) + 5

End If
i.Range(i.Cells(son, 7), i.Cells(son, tgun + 6)) = 1
   If ilksut > sonsut Then
   Else
    i.Range(i.Cells(son, ilksut), i.Cells(son, sonsut)) = ""
    i.Range(i.Cells(son, ilksut), i.Cells(son, sonsut)).Interior.ColorIndex = 3
    
End If
 i.Cells(son, "AL") = WorksheetFunction.Sum(i.Range("G" & son & ".AK" & son))
End If
End If
End If
End If
sn:
ilkt = Empty: sont = Empty: v = 0
Next mv
MsgBox "AKTARMA BİTTİ..."
End Sub
 
Geri
Üst