用VBA实现excel中的多页查找

用VBA实现excel中的多页查找,excel,vlookup,vba,Excel,Vlookup,Vba,我正在尝试编写一个VBA代码来在excel中进行查找 我有两张工作表,想在这两张工作表之间查找,查找结果应该出现在第三张工作表中。我们将如何在VBA中实现这一点 表1: CHANGE NUMBER |DATE | ---------------|--------| 1555081 |5/3/2018| 1555083 |5/3/2018| 1555089 |5/3/2018| 1555327 |5/3/2018| 1555381

我正在尝试编写一个VBA代码来在excel中进行查找

我有两张工作表,想在这两张工作表之间查找,查找结果应该出现在第三张工作表中。我们将如何在VBA中实现这一点

表1:

CHANGE NUMBER  |DATE    |
---------------|--------|
1555081        |5/3/2018|
1555083        |5/3/2018|
1555089        |5/3/2018|
1555327        |5/3/2018|
1555381        |5/3/2018|
1555526        |5/3/2018|
第2页:

TICKET NO     |CLIENT REFERENCE ID|
--------------|-------------------|
T20161103.0040|1555081            |
T20170113.0057|1555526            |
T20170113.0064|1555589            |
T20170125.0035|1555083            |
T20170130.0091|1555526            | 
T20170130.0092|                   | 
T20170208.0073|                   |
我的查找公式是

= vlookup(sheet1!A1,sheet2!B:B,1,FALSE)
如何在VBA中实现这一点。任何帮助都将不胜感激

谢谢 Abdulquadir

试试这个开始

我的查找公式是

= vlookup(sheet1!A1,sheet2!B:B,1,FALSE)
=vlookup(图1!A1,图2!B:B,1,假)

输出


我运行了代码。它没有给我任何错误,但我也没有得到任何输出。只需确认有3张纸-第1页、第2页,输出在第3页上。我正在sheet3上创建此VBA代码。我想我需要将最后一行更新为Sheet2。请立即尝试更新的代码,也可以根据您的公式了解您的工作簿工作表是sheet1和Sheet2,对吗?我看不到代码有任何更改。但我试过了,还是一样。没有结果,我已经在PC上重新创建了模块,并更新了屏幕截图示例。希望这是清楚的
Sub lookuptest() 

Worksheets("CA").Range("A:A").Copy Worksheets("OUTPUT").Range("A:A") 


On Error Resume Next 
Dim cn_Row As Long 
Dim cn_Clm As Long 
Dim sheet1 As Worksheet 
Dim sheet2 As Worksheet 
Dim sheet3 As Worksheet 

Set sheet1 = ThisWorkbook.Sheets("CA") 
Set sheet2 = ThisWorkbook.Sheets("AT") 
Set sheet3 = ThisWorkbook.Sheets("OUTPUT") 

With sheet1 
sourcelastrow = .Cells(.Rows.Count, "A").End(xlUp).Row 
'MsgBox "source file last row is: " & sourcelastrow 
End With 

Table1 = sheet1.Range("$A$2:$A$" & sourcelastrow) ' Employee_ID Column from Employee table 
Table2 = sheet2.Range("B:B") ' Range of Employee Table 1 
cn_Row = sheet3.Range("B2").Row ' Change E3 with the cell from where you need to start populating the Department 
cn_Clm = sheet3.Range("B2").Column 

For Each cl In Table1 
sheet3.Cells(cn_Row, cn_Clm) = Application.WorksheetFunction.VLookup(cl, Table2, 1, False) 
cn_Row = cn_Row + 1 
Next cl 
'MsgBox "Done Lookup with Change Number" 

Dim id_row As Long 
Dim id_clm As Long 

Table3 = sheet1.Range("A:B") 
id_row = sheet3.Range("C2").Row 
id_clm = sheet3.Range("C2").Column 

For Each cl In Table1 
sheet3.Cells(id_row, id_clm) = Application.WorksheetFunction.VLookup(cl, Table3, 2, False) 
id_row = id_row + 1 
Next cl 

MsgBox "Done" 

End Sub