Excel VBA - For Each - In& VLOOKUP

时间:2015-02-10 03:18:14

标签: excel-vba vba excel

我正在尝试在我的代码中同时使用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

2 个答案:

答案 0 :(得分:2)

cell.Value.Offset(1, 0)更改为cell.Offset(1, 0).Value

OffsetRange对象的一种方法,因此您必须将其应用于单元格而不是单元格的值

答案 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

我还没有测试过,所以让我知道它是否适合你