Why don't you try to measure it by yourself ?
Just my guess, if number of rows of the array is little, the For..Loop will win, but if many, probably the Application.Match wins (since there is overhead calling a worksheet function).
BTW, if it is possible to use an array formula, then my code can be written as an UDF too (you need to delete all my previous code first) :
Usage : Array formula on Sheet1!B2:B5 :
or even just :
but you must manually recalc the sheet, or insert the Application.Volatile to the UDF
Bookmarks