2015-02-10 74 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 

这我没有测试过,所以让我知道,如果它为你