Puantaj özet hatasının düzeltme

Soru Puantaj özet hatasının düzeltme

  • Konuyu başlatan Konuyu başlatan lfkaya
  • Başlangıç tarihi Başlangıç tarihi

lfkaya

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Daha önce sormuş olduğum Ömer BARAN üstadın çözmüş olduğu puantaj da ufak bir değişiklik yapmak istiyorum üstad yardımcı olman mümkün mü

Sizin Gönderdiğiniz Kod

C#:P
Sub PUANTAJ_OZETLEME()
Set o = Sheets("Otopark"): Set oz = Sheets("OtoparkOzet")
sono = o.Cells(Rows.Count, 2).End(3).Row
If sono < 6 Then Exit Sub
oz.Range("A2:J" & Rows.Count).Clear
v = o.Range("B6:BR" & sono).Value2
bslk1 = o.[BH3:BR3].Value2: bslk2 = o.[BH4:BR4].Value2
sut = Array(0, 1, 2, 3, 4, 6, 7, 8, 10, 11, 5)
ReDim snc(1 To UBound(v) * 10, 1 To 10)
For a = LBound(v) To UBound(v)
For x = 1 To 10
For u = 1 To 10: snc((a - 1) * 10 + x, u) = 0: Next
snc((a - 1) * 10 + x, 1) = v(a, 1)
snc((a - 1) * 10 + x, 5) = bslk1(1, sut(x))
snc((a - 1) * 10 + x, 7) = bslk2(1, sut(x))
snc((a - 1) * 10 + x, 8) = IIf(x = 8, 0, IIf(x = 10, 0, v(a, sut(x) + 58)))
snc((a - 1) * 10 + x, 9) = IIf(x = 7, v(a, 67), 0)
snc((a - 1) * 10 + x, 10) = IIf(x < 8, 0, IIf(x = 9, 0, v(a, sut(x) + 58)))
Next: Next: oz.[A2].Resize(UBound(v) * 10, 10) = snc
oz.[A2].Resize(UBound(v) * 10, 10).Borders.Weight = xlHairline
End Sub



Aşağıda resimde işaretlediğim alanda H sütununda değer durması gerek J deki 0 olması gerekirken yanlış bilgi sonucu tam dersi yaptırdım düzeltme konusunda yardımcı olurmusunuz değer H da olacak J de 0 Oalcak
 

Ekli dosyalar

  • Agustos_Puantaj_ 2022.xlsm
    Agustos_Puantaj_ 2022.xlsm
    27.6 KB · Görüntüleme: 4
  • Hata.webp
    Hata.webp
    23.1 KB · Görüntüleme: 7
Yukarıda verdiğiniz koddaki şu iki satırı düzeltin.

..................
snc((a - 1) * 10 + x, 8) = IIf(x = 8, v(a, sut(x) + 58), IIf(x = 10, 0, v(a, sut(x) + 58)))
...................
snc((a - 1) * 10 + x, 10) = IIf(x < 9, 0, IIf(x = 9, 0, v(a, sut(x) + 58)))
 
Üstad sanırım yanlış ifade ettim 660 rakamı H sutununda yazacak J sutununda 0 yazacak
son gönderdiğiniz kodda 660 da değişilik olmuyor onun yerine alttaki 220,50 değeri 0 oluyor bu değer olduğu gibi kalacak
 
Üst