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