- Katılım
- 11 Mart 2005
- Mesajlar
- 3,062
- Excel Vers. ve Dili
- Office 2013 İngilizce
Merhabalar,
Ekli dosyada aşağıdaki kod ile bir sayfada olan verileri diğer sayfada olup olmadığını kontrol etmeye çalışıyorum. Bir nevi COUNTIF fonksiyonu
bu işlemi for ..... next döngüsüne girmeden daha hızlı bir şekilde yapmanın bir yolu olabilir mi?
Teşekkürler,
iyi Haftasonları...
Ekli dosyada aşağıdaki kod ile bir sayfada olan verileri diğer sayfada olup olmadığını kontrol etmeye çalışıyorum. Bir nevi COUNTIF fonksiyonu
bu işlemi for ..... next döngüsüne girmeden daha hızlı bir şekilde yapmanın bir yolu olabilir mi?
Teşekkürler,
iyi Haftasonları...
Kod:
Sub xCountIF()
Dim RS As Object
Dim SH As Worksheet
Dim myPath As String
Dim i As Long
Dim LastRow As Long
Dim deg As Variant
Dim zaman As Double
zaman = Timer
Set Con = VBA.CreateObject("adodb.Connection")
Set RS = VBA.CreateObject("adodb.Recordset")
Set SH = ActiveWorkbook.Sheets("Hedef")
SH.Range("D:Z").ClearContents
LastRow = SH.Cells(SH.Rows.Count, "A").End(xlUp).Row
myPath = ActiveWorkbook.Path
WB1 = ActiveWorkbook.FullName
strConnection = _
"Provider=Microsoft.ACE.OLEDB.12.0;" & _
"User ID=Admin;" & _
"Data Source='" & WB1 & "';" & _
"Extended Properties=""Excel 12.0;IMEX=1;Hdr=Yes"""
Con.Open strConnection
For i = 2 To LastRow
deg = SH.Cells(i, 1)
sorgu = "Select * From [Data$] WHERE [KODU]='" & deg & "'"
RS.Open sorgu, Con
If Not RS.EOF Then
SH.Cells(i, 4) = 1
Else
SH.Cells(i, 4) = 0
End If
RS.Close
Next i
Set RS = Nothing
Set Con = Nothing
MsgBox "Süre: " & zaman
End Sub
Ekli dosyalar
-
346.9 KB Görüntüleme: 4