|
工作表对比1、工作表对比2中有若干数据一一对应,
1、在工作表对比1中,若C1-K1单元格有数据等于工作表对比2中B2的数据,则提取该单元格对应的工作表对比2中的下一个单元格数据,依次写入工作表对比3的A1 B1 C1...【比如 工作表对比2中B2=44,工作表对比1中D1=44 F1=44,则提取工作表对比1中D2 F2的数据,写入工作表对比3的A1 B1 】
2、在工作表对比1中,若C2-K2单元格有数据等于工作表对比2中B3的数据,则提取该单元格对应的工作表对比2中的下一个单元格数据,依次写入工作表对比3的A2 B2 C2...【比如 工作表对比2中B3=40,工作表对比1中E2=40 K2=40,则提取工作表对比1中E3 K3的数据,写入工作表对比3的A2 B2 】
若没有数据相同,则在工作表对比3相应的的A B C...单元格写入空
上述举例只有几行,实际运用中有若干行
- Sub Macro1()
- Dim arr, brr, crr, i&, j%, s%, n%
- arr = Sheet1.Range("a1").CurrentRegion
- brr = Sheet2.Range("a1").CurrentRegion
- ReDim crr(1 To UBound(arr) - 1, 1 To UBound(arr, 2) - 2)
- For i = 1 To UBound(arr) - 1
- x = brr(i + 1, 2): s = 0
- For j = 3 To UBound(arr, 2)
- If arr(i, j) = x Then s = s + 1: crr(i, s) = arr(i + 1, j)
- Next
- If s > n Then n = s
- Next
- Sheet3.Activate
- [a:i].ClearContents
- [a:i].NumberFormatLocal = "@"
- [a1].Resize(UBound(crr), n) = crr
- End Sub
复制代码
|
|