[英]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.