質問: vbaでループになってしまいます。
回答: お示しのコードだとA列が空欄になる迄、1回1回A1~A列最終行迄の値を検索し、結果をC列最終行迄書き込んでますよね? A列のデータ量が多ければそれなりの時間がかかっているだけの様な気がします。そもそも繰り返しは必要ないです。 Vlookupを2行目からにしたければSTARTROWを2にして下さい。 Sub test() Dim LastRow As Long Const STARTROW = 1 LastRow = Cells(Rows.Count, "A").End(xlUp).Row Range("C" & STARTROW & ":C" & LastRow) = _ WorksheetFunction.VLookup(Range("A" & STARTROW & ":A" & LastRow), _ Worksheets("PPR").Range("A1:B7"), 2, False) End Sub