VBA Hlookup 多行

问题描述 投票:0回答:1

我正在尝试将 HLookup 与 vba 一起使用,但是当我尝试 vba 代码时,我无法将其应用于多行,它只能用于单行“J2”,我需要 HLookup vba 代码用于多行“J2” “直到“J1001”,查找值“A2”直到“A1001”,我应该使用什么vba代码?

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

Range("J2").Value = WorksheetFunction.HLookup(Range("A2"), Sheets("Input").Range("C4:ALN14"), 3, False)

Application.EnableEvents = True

End Sub
excel vba
1个回答
0
投票

以下子项将刷新您对您指定的任何范围的查找:

Sub refresh_rows(rg As Range)
    Application.EnableEvents = False
    For r = rg.Row To rg.Row + rg.Rows.Count - 1
        Range("J" & r).Value = WorksheetFunction.HLookup(Range("A" & r).Value, _
            Sheets("Input").Range("C4:ALN14"), 3, False)
    Next
    Application.EnableEvents = True
End Sub

因此您可以使用它来刷新所有内容:

refresh_rows range("J2:J1001")

或者您可以仅刷新用户使用以下方法更新的行:

Private Sub Worksheet_Change(ByVal Target As Range)
    refresh_rows Target
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.