Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [C1:C3002]) Is Nothing Then Exit Sub
Call ara
End Sub
Sub ara()
Dim ws As Worksheet
Dim DataRange As Range
Dim UpdateRange As Range
Dim aCell As Range
Dim bCell As Range
On Error GoTo Err
Set ws = Worksheets("1")
Set ds = Worksheets("TALEP")
Set UpdateRange = ws.Range("C2:C3002")
Set DataRange = ds.Range("A1:A3002")
For Each aCell In UpdateRange
Set bCell = DataRange.Find(What:=aCell, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not aCell Is Nothing Then
aCell.Offset(, 1) = bCell.Offset(, 1)
aCell.Offset(, 2) = bCell.Offset(, 2)
aCell.Offset(, 3) = bCell.Offset(, 3)
aCell.Offset(, 4) = bCell.Offset(, 4)
aCell.Offset(, 5) = bCell.Offset(, 6)
aCell.Offset(, 6) = bCell.Offset(, 7)
aCell.Offset(, 7) = bCell.Offset(, 8)
aCell.Offset(, 8) = bCell.Offset(, 9)
aCell.Offset(, 9) = bCell.Offset(, 10)
End If
Next
Exit Sub
End Sub
Yukarıdaki kod ile TALEP sayfasından veri arayıp 1 sayfasına veri çekiyorum.Veri aralığı 3000 satır. Fakat arama çok yavaş.Sütundaki verileri her seferinde baştan aradığı için mi?Yardımcı olabilecek var mı?
On Error Resume Next
If Intersect(Target, [C1:C3002]) Is Nothing Then Exit Sub
Call ara
End Sub
Sub ara()
Dim ws As Worksheet
Dim DataRange As Range
Dim UpdateRange As Range
Dim aCell As Range
Dim bCell As Range
On Error GoTo Err
Set ws = Worksheets("1")
Set ds = Worksheets("TALEP")
Set UpdateRange = ws.Range("C2:C3002")
Set DataRange = ds.Range("A1:A3002")
For Each aCell In UpdateRange
Set bCell = DataRange.Find(What:=aCell, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not aCell Is Nothing Then
aCell.Offset(, 1) = bCell.Offset(, 1)
aCell.Offset(, 2) = bCell.Offset(, 2)
aCell.Offset(, 3) = bCell.Offset(, 3)
aCell.Offset(, 4) = bCell.Offset(, 4)
aCell.Offset(, 5) = bCell.Offset(, 6)
aCell.Offset(, 6) = bCell.Offset(, 7)
aCell.Offset(, 7) = bCell.Offset(, 8)
aCell.Offset(, 8) = bCell.Offset(, 9)
aCell.Offset(, 9) = bCell.Offset(, 10)
End If
Next
Exit Sub
End Sub
Yukarıdaki kod ile TALEP sayfasından veri arayıp 1 sayfasına veri çekiyorum.Veri aralığı 3000 satır. Fakat arama çok yavaş.Sütundaki verileri her seferinde baştan aradığı için mi?Yardımcı olabilecek var mı?
