簡體   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