Hücrelerden veriyi tek tek okumak (Cells(i,1)) çok yavaştır. Veriyi topluca hafızaya (Array) alıp, hafızada işleyip, tek seferde geri yazdırmak inanılmaz hızlıdır.
Hız Testi
Dim Dizi As Variant
Dizi = Range("A1:A10000").Value 'Tüm veriyi hafızaya al
For i = 1 To UBound(Dizi)
Dizi(i, 1) = Dizi(i, 1) * 2 'Hafızada işlem yap
Next i
Range("B1:B10000").Value = Dizi 'Tek seferde yapıştır
Dizi = Range("A1:A10000").Value 'Tüm veriyi hafızaya al
For i = 1 To UBound(Dizi)
Dizi(i, 1) = Dizi(i, 1) * 2 'Hafızada işlem yap
Next i
Range("B1:B10000").Value = Dizi 'Tek seferde yapıştır
Bu yöntem, 10 dakikalık işlemi 5 saniyeye düşürebilir.
Henüz yorum yapılmamış. İlk yorumu sen yap!
Yorum Yap