2015-02-10 3 views
1

Я пытаюсь использовать как ForEach, так и Vlookup в своем коде. Результаты дают мне ошибку времени выполнения 424: сообщение «Требуется объект». Смотрите код ниже:Excel VBA - для каждого - In & Vlookup

Sub LookupAndSort() 
Dim cell As Range 

For Each cell In Range("B6", Range("b7").End(xlToRight).Offset(-1, 0)) 
    cell.Value = Application.WorksheetFunction.VLookup(_ 
     cell.Value.Offset(1, 0), Worksheets("Ref2").Range("A:C"), 3, False) 
Next cell 

End Sub 

ответ

2

cell.Value.Offset(1, 0) Изменения в cell.Offset(1, 0).Value

Offset - это метод объекта Range, поэтому вы должны применить его к ячейке, а не к значению ячейки

+0

Да, это было ... Думаю, мне нужны были свежие глаза, чтобы определить мою ошибку. – sndrosilva

1

попробовать что-то вроде этого:

Sub LookupAndSort() 

Dim AllCells As Range 
Dim AllCellsRange As Range 

Set AllCellsRange = Range("B6", Range("b7").End(xlToRight).Offset(-1, 0)) 

For Each AllCells In AllCellsRange 
    AllCells.Value = Application.WorksheetFunction.VLookup(_ 
    AllCells.Value.Offset(1, 0), Worksheets("Ref2").Range("A:C"), 3, False) 
Next AllCells 
End Sub 

Это я не проверял, так что дайте мне знать, если он работает для вас