我正在尝试在我的代码中同时使用ForEach和Vlookup。结果给了我一个运行时错误424:Object Required消息。请参阅以下代码:
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
答案 0 :(得分:2)
将cell.Value.Offset(1, 0)
更改为cell.Offset(1, 0).Value
Offset
是Range
对象的一种方法,因此您必须将其应用于单元格而不是单元格的值
答案 1 :(得分: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
我还没有测试过,所以让我知道它是否适合你