• DİKKAT

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

Dizi VBA Kod Yazımı

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,042
Excel Vers. ve Dili
2013 Türkçe
Arkadaşlar Excel ile çok uğraşmama rağmen şu dizileri bir türlü kavrayamadım. Bir tane kod yazdım (daha doğrusu alıntı yaptım) ama sonca ulaşıncaya kadar bir sürü hata verdi. Dizi olmadan makro ve yerleşik formül işbirliği ile 3,20 sn civarı işlem yaparken dizi ile bu süre 0,20 sn kadar inmekte. Kodda fazladan yazdığım yerler var mı?
Sub Oran_Dizi()

Set l = Sheets("Lig")
Set s = Sheets("Oran")
son = l.Cells(Rows.Count, "FB").End(3).Row
skorr = l.Range("FA5:FD" & son).Value
puann = l.Range("FG5:FV" & son).Value
tahminn = l.Range("HA5:IF" & son).Value
takım = s.Range("X4:X21").Value
s.Range("Z4:HH21") = ""
Dim tablo(18, 192)
Dim kazanır(18, 2)
Dim berabere(18, 2)
Dim kaybeder(18, 2)
For j = 1 To 18
kazanır(j, 0) = 0
kazanır(j, 1) = 0
berabere(j, 0) = 0
berabere(j, 1) = 0
kaybeder(j, 0) = 0
kaybeder(j, 1) = 0
tkm = takım(j, 1)



For i = 1 To son - 4



If tkm = skorr(i, 1) Then



For k = 1 To 16
If tablo(j, k * 12 - 11) = "" Then tablo(j, k * 12 - 11) = 0
If tablo(j, k * 12 - 7) = "" Then tablo(j, k * 12 - 7) = 0
If tablo(j, k * 12 - 3) = "" Then tablo(j, k * 12 - 3) = 0



If tablo(j, k * 12 - 9) = "" Then tablo(j, k * 12 - 9) = 0
If tablo(j, k * 12 - 5) = "" Then tablo(j, k * 12 - 5) = 0
If tablo(j, k * 12 - 1) = "" Then tablo(j, k * 12 - 1) = 0




If tahminn(i, 2 * k - 1) > tahminn(i, 2 * k) Then tablo(j, k * 12 - 9) = tablo(j, k * 12 - 9) + 1
If tahminn(i, 2 * k - 1) > tahminn(i, 2 * k) Then kazanır(j, 1) = kazanır(j, 1) + 1

If tahminn(i, 2 * k - 1) = tahminn(i, 2 * k) Then tablo(j, k * 12 - 5) = tablo(j, k * 12 - 5) + 1
If tahminn(i, 2 * k - 1) = tahminn(i, 2 * k) Then berabere(j, 1) = berabere(j, 1) + 1

If tahminn(i, 2 * k - 1) < tahminn(i, 2 * k) Then tablo(j, k * 12 - 1) = tablo(j, k * 12 - 1) + 1
If tahminn(i, 2 * k - 1) < tahminn(i, 2 * k) Then kaybeder(j, 1) = kaybeder(j, 1) + 1

If tahminn(i, 2 * k - 1) > tahminn(i, 2 * k) And puann(i, k) > 0 Then tablo(j, k * 12 - 11) = tablo(j, k * 12 - 11) + 1
If tahminn(i, 2 * k - 1) > tahminn(i, 2 * k) And puann(i, k) > 0 Then kazanır(j, 0) = kazanır(j, 0) + 1


If tahminn(i, 2 * k - 1) = tahminn(i, 2 * k) And puann(i, k) > 0 Then tablo(j, k * 12 - 7) = tablo(j, k * 12 - 7) + 1
If tahminn(i, 2 * k - 1) = tahminn(i, 2 * k) And puann(i, k) > 0 Then berabere(j, 0) = berabere(j, 0) + 1



If tahminn(i, 2 * k - 1) < tahminn(i, 2 * k) And puann(i, k) > 0 Then tablo(j, k * 12 - 3) = tablo(j, k * 12 - 3) + 1
If tahminn(i, 2 * k - 1) < tahminn(i, 2 * k) And puann(i, k) > 0 Then kaybeder(j, 0) = kaybeder(j, 0) + 1




tablo(j, k * 12 - 10) = "/"
tablo(j, k * 12 - 6) = "/"
tablo(j, k * 12 - 2) = "/"
Next k
End If


If tkm = skorr(i, 4) Then



For k = 1 To 16
If tablo(j, k * 12 - 11) = "" Then tablo(j, k * 12 - 11) = 0
If tablo(j, k * 12 - 7) = "" Then tablo(j, k * 12 - 7) = 0
If tablo(j, k * 12 - 3) = "" Then tablo(j, k * 12 - 3) = 0


If tablo(j, k * 12 - 9) = "" Then tablo(j, k * 12 - 9) = 0
If tablo(j, k * 12 - 5) = "" Then tablo(j, k * 12 - 5) = 0
If tablo(j, k * 12 - 1) = "" Then tablo(j, k * 12 - 1) = 0

If tahminn(i, 2 * k - 1) < tahminn(i, 2 * k) Then tablo(j, k * 12 - 9) = tablo(j, k * 12 - 9) + 1
If tahminn(i, 2 * k - 1) < tahminn(i, 2 * k) Then kazanır(j, 1) = kazanır(j, 1) + 1


If tahminn(i, 2 * k - 1) = tahminn(i, 2 * k) Then tablo(j, k * 12 - 5) = tablo(j, k * 12 - 5) + 1
If tahminn(i, 2 * k - 1) = tahminn(i, 2 * k) Then berabere(j, 1) = berabere(j, 1) + 1

If tahminn(i, 2 * k - 1) > tahminn(i, 2 * k) Then tablo(j, k * 12 - 1) = tablo(j, k * 12 - 1) + 1
If tahminn(i, 2 * k - 1) > tahminn(i, 2 * k) Then kaybeder(j, 1) = kaybeder(j, 1) + 1

If tahminn(i, 2 * k - 1) < tahminn(i, 2 * k) And puann(i, k) > 0 Then tablo(j, k * 12 - 11) = tablo(j, k * 12 - 11) + 1
If tahminn(i, 2 * k - 1) < tahminn(i, 2 * k) And puann(i, k) > 0 Then kazanır(j, 0) = kazanır(j, 0) + 1



If tahminn(i, 2 * k - 1) = tahminn(i, 2 * k) And puann(i, k) > 0 Then tablo(j, k * 12 - 7) = tablo(j, k * 12 - 7) + 1
If tahminn(i, 2 * k - 1) = tahminn(i, 2 * k) And puann(i, k) > 0 Then berabere(j, 0) = berabere(j, 0) + 1

If tahminn(i, 2 * k - 1) > tahminn(i, 2 * k) And puann(i, k) > 0 Then tablo(j, k * 12 - 3) = tablo(j, k * 12 - 3) + 1
If tahminn(i, 2 * k - 1) > tahminn(i, 2 * k) And puann(i, k) > 0 Then kaybeder(j, 0) = kaybeder(j, 0) + 1



tablo(j, k * 12 - 10) = "/"
tablo(j, k * 12 - 6) = "/"
tablo(j, k * 12 - 2) = "/"


Next k
End If





Next i
Next j

s.Range("Y3").Resize(19, 192) = tablo
s.Range("KD3").Resize(19, 2) = kazanır
s.Range("KH3").Resize(19, 2) = berabere
s.Range("KL3").Resize(19, 2) = kaybeder

s.Select
End Sub
 

Ekli dosyalar

Geri
Üst