2014-10-09 18 views
0

我使用vlookup从表2中的表1中找到匹配项。我现在想要使用查找的结果来查找该特定的字符串。Excel中的VBA - 使用vlookup的结果作为匹配的条件

Private Sub CommandButton1_Click() 
On Error Resume Next 
Dim BPP_Row As Long 
Dim BPP_Clm As Long 
Dim result As String 
Dim num As String 
Table1 = Sheet1.Range("B6:C44") 
Table2 = Sheet3.Range("B6:B147") 
Table3 = Sheet1.Range("C1:C44") 
BPP_Row = Sheet3.Range("D6").Row 
BPP_Clm = Sheet3.Range("D6").Column 
For Each cl In Table2 
result = Application.WorksheetFunction.VLookup(cl, Table1, 2, False) 
num = Application.Match(""" + result + """, Table3, 0) 
Sheet3.Cells(BPP_Row, BPP_Clm).Formula = "=""" + result + """ + """ + num + """" 
BPP_Row = BPP_Row + 1 
result = "" 
num = "" 
Next cl 
MsgBox "done" 
End Sub 
+0

为什么不使用Application.WorksheetFunction.Match函数? – 2014-10-09 11:17:38

回答

0

管理修复它。

Private Sub CommandButton1_Click() 
On Error Resume Next 
Dim BPP_Row As Long 
Dim BPP_Clm As Long 
Dim result As String 
Dim num As String 
Table1 = Sheet1.Range("B6:C44") 
Table2 = Sheet3.Range("B6:B147") 
Table3 = Sheet1.Range("C1:C44") 
BPP_Row = Sheet3.Range("D6").Row 
BPP_Clm = Sheet3.Range("D6").Column 
For Each cl In Table2 
result = Application.WorksheetFunction.VLookup(cl, Table1, 2, False) 
num = Application.WorksheetFunction.Match(result, Table3, 0) 
Sheet3.Cells(BPP_Row, BPP_Clm).Formula = "=""" + result + """ + " + num + "" 
BPP_Row = BPP_Row + 1 
result = "" 
num = "" 
Next cl 
MsgBox "done" 
End Sub