Another Vlookup for VBA question
You dont need to select a cell to assign a formula. Try the below two macros
one assigning the formula and the other using worksheetfunction; and compare
the time taken....
Sub Macro1()
Do While IsEmpty(Cells(I + 1, 1)) = False
I = I + 1
Cells(I + 1, 11) = "=VLOOKUP(C" & I & ",price,4,0)"
Loop
End Sub
Sub Macro2()
Application.ScreenUpdating = False
Do While IsEmpty(Cells(I + 1, 1)) = False
I = I + 1
Cells(I + 1, 11) = WorksheetFunction.VLookup _
(Range("C" & I), Range("price"), 4, 0)
Loop
Application.ScreenUpdating = True
End Sub
If this post helps click Yes
---------------
Jacob Skaria
"petedacook" wrote:
I have some code that a user has been running which plugs a vlookup formula
into the spreadsheet:
'Do While IsEmpty(Cells(I + 1, 1)) = False
' I = I + 1
' Cells(I + 1, 11).Select
' ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-3],price,4,FALSE)"
' ActiveCell.Offset(1, 0).Select
Loop
This takes too long to run.....so I want to use code to perform the lookup
and plug the result into the active cell.
This code is running through several thousand rows...more than 2,000 and
less than 10K, but the number of rows varies from week to week.
My question: Is there a faster way to preform the lookup and plug the reult
into the active cell other than using the application function method:
Application.WorksheetFunction.Vlookup()
Is this the best method to perform a vlookup?
|