例えばこんな感じ?

Dim Temp (30000,1)

For i=0 To 30000

Temp(i,1)=Application.WorkSheetFunction.Vlookup(Sheet1.Cells(i,1),Sheet2.Range("A:A"),1,False)

Next

Sheet1.Range("B1:B30000)=Temp


10000×1000で試してみたけど、>>131を二重ループで回した場合5秒かかってたところが、 このvlookupは1秒でできた。

ちなみにExcel2002(職場のクソマシン)だから、また今は違うのかもしれないけど。