Excel – 比较两个选项卡。 将匹配移到一个标签,其他标签移动到另一个标签

我正在寻找一种方法,从表B列A中select一个“政策编号”,并将其与表A列A上的“政策编号”列表进行比较。

如果find复制行到选项卡C,如果不复制行到选项卡D.

列标题是

Policy# Date Amount Carrier company 

谢谢

试试这个:

 Public Sub CopyRows() Dim ewbT As Workbook: Set ewbT = ThisWorkbook ' Change ewbT to target Workbook, maybe ActiveWorkbook Dim ewsA As Worksheet: Set ewsA = ewbT.Worksheets("A") Dim ewsB As Worksheet: Set ewsB = ewbT.Worksheets("B") Dim ewsC As Worksheet: Set ewsC = ewbT.Worksheets("C") Dim ewsD As Worksheet: Set ewsD = ewbT.Worksheets("D") Dim dctPolicy As Dictionary: Set dctPolicy = New Dictionary Dim r As Long: For r = 2 To ewsA.UsedRange.Rows.Count ' Change 2 to first row of data dctPolicy.Add ewsA.Cells(r, 1).Value, 0 Next r For r = 2 To ewsB.UsedRange.Rows.Count ' Change 2 to first row of data Dim varTemp() As Variant: ReDim varTemp(0 To 0, 0 To 3) varTemp = ewsB.Cells(r, 1).Resize(1, 4).Value Dim ewsT As Worksheet: Set ewsT = ewsC If dctPolicy.Exists(ewsB.Cells(r, 1).Value) = False Then Set ewsT = ewsD End If ewsT.Cells(ewsC.UsedRange.Rows.Count + 1, 1).Resize(1, 4).Value = varTemp Next r End Sub 

请注意,您需要启用“工具”>“参考”>“Microsoft脚本运行时”。