maliex
Altın Üye
- Katılım
- 22 Eylül 2019
- Mesajlar
- 227
- Excel Vers. ve Dili
- professional plus 2016-türkçe
- Altın Üyelik Bitiş Tarihi
- 23-09-2025
Arkadaşlar merhaba,
2 veriyi karşılaştırma yapıyorum
2 sorum var
1-)aşağıda kodlardan da belirttiğim üzere 1. yöntemde 30 saniye sürerken , 2.yöntem 90 saniye sürmekte oysaki 2.yöntem çokdaha kısa sürmesi gerekmezmi ?
2-) 2.yöntemde sonuçları yazıdırken yanlış getiriyor oysaki "locals" penceresinden "oklar" dizinini kontrol ettiğimde sorun yok anlayamadım
2 veriyi karşılaştırma yapıyorum
2 sorum var
1-)aşağıda kodlardan da belirttiğim üzere 1. yöntemde 30 saniye sürerken , 2.yöntem 90 saniye sürmekte oysaki 2.yöntem çokdaha kısa sürmesi gerekmezmi ?
2-) 2.yöntemde sonuçları yazıdırken yanlış getiriyor oysaki "locals" penceresinden "oklar" dizinini kontrol ettiğimde sorun yok anlayamadım
C++:
Sub deneme()
Application.ScreenUpdating = False
b = Timer
Dim s1 As Worksheet
Set s1 = Sheets("sayfa1")
Dim ilkveri(1 To 15000)
Dim ikinciveri(1 To 15000)
For X = 1 To 15000
ilkveri(X) = Cells(X, 1) & Cells(X, 2) & Cells(X, 3)
ikinciveri(X) = Cells(X, 7) & Cells(X, 8) & Cells(X, 9)
Next X
'''''1 .yöntem'''''''
For X = 1 To 15000
For y = 1 To 15000
If ilkveri(X) = ikinciveri(y) Then Cells(X, 4) = "ok"
Next y
Next X
''''2.yöntem'''''''''
Dim OKLAR(1 To 15000)
For X = 1 To 15000
For y = 1 To 15000
If ilkveri(X) = ikinciveri(y) Then OKLAR(X) = "VAR"
If ilkveri(X) = ikinciveri(y) Then Exit For
If ilkveri(X) <> ikinciveri(y) Then OKLAR(X) = "YOK"
Next y
Next X
s1.Range("D1").Resize(15000) = OKLAR
c = Timer - b
MsgBox "İşlem Süresi : " & Int(c) & " saniye"
Application.ScreenUpdating = True
End Sub
Ekli dosyalar
-
731.7 KB Görüntüleme: 15