2015-02-10 50 views
1

我想在我的代碼中使用ForEach和Vlookup。結果給我一個運行時錯誤424:Object Required消息。請參見下面的代碼:Excel VBA - 對於每個 - 在&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

OffsetRange對象的一種方法,因此您必須將其應用於單元格而不是單元格的值

+0

是的,就是這樣....我想我需要新鮮的眼睛來發現我的錯誤。 – sndrosilva 2015-02-10 05:13:20

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 

這我沒有測試過,所以讓我知道,如果它爲你