繁体   English   中英

如何将 Match 的值设置为用于 vlookup 的范围

[英]How to set the value of Match into a Range for vlookup

我正在尝试使用 vba 执行 vlookup。 在代码中,我唯一缺少的是如何将匹配结果存储到范围内以使用它

Sub pn_relationships2()

Dim pn As Range
Dim Rng As Range
Dim Col As Range
Dim ws As Worksheet

Set ws = Sheets("Entities")
        
    Worksheets("Relationships").Activate

Set Rng = Range("D:K")

    Worksheets("Entities").Activate
    Cells.Find(What:="Part Number", After:=ActiveCell, LookIn:=xlFormulas2, _
    LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=True, SearchFormat:=False).Activate

Set pn = ActiveCell

Match_Value = WorksheetFunction.Match("Part Number", ws.Range("D2:K2"), 0)

Set Col = WorksheetFunction.Match("Part Number", ws.Range("D2:K2"), 0)

最后两行很可能是错误的。

像这样也许:

  Sub pn_relationships2()
    
        Dim ws As Worksheet, m, Rng As Range
        
        Set ws = Sheets("Entities")
        Set Rng = ws.Range("D:K")
        'find the part number header position
        m = Application.Match("Part Number", Rng.Rows(2), 0)
        
        If Not IsError(m) Then
            Debug.Print Application.VLookup(someValue, Rng, m, True)
        Else
            MsgBox "'Part Number' header not found"
        End If
                
    End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM