|
请修改代码
1、 在工作表3中有15表格,每5个表相比较,删除5表中相同数字的行,把5个表中不相同数字的行筛选出来,放到工作表2对应表格里.如:工作表3中,表1、2、3、4、5五个表比较,删除五表中相同数字的行,把各表不相同数字的行筛选出来,放到工作表2对应表格里表
2、工作表3里各表121行,工作表2内各表60行。
3、运行到“If d(x).exists(a(i)(j)) Then”时,出现“运行时错误‘424’,要求对象”,
谢谢!
- Sub Macro1()
- Dim arr, d(1 To 5), a(1 To 5), y%
- For h = 1 To 2 '分二次循环行
- s = 0
- For i = 1 To 489 Step 122 '115
- s = s + 1
- Set d(s) = CreateObject("scripting.dictionary")
- arr = Sheets("3").Cells((h - 1) * 610 + i, 1).Resize(121, 9)
- For j = 1 To UBound(arr)
- zf = Join(Application.Index(arr, j, 0), ",")
- d(s)(zf) = ""
- Next
- Next
- For i = 1 To 5
- h2 = (h - 1) * 305 + (i - 1) * 61
- a(i) = d(i).keys
- s3 = 0
- For j = 0 To d(i).Count - 1
- s2 = 0
- For k = 1 To 4
- x = (i + k - 1) Mod 5 + 1 '3
- If d(x).exists(a(i)(j)) Then s2 = s2 + 1
- Next
- If s2 <> 4 Then '2
- s3 = s3 + 1
- Sheets("2").Cells(h2 + s3, 1).Resize(1, 9) = Split(a(i)(j), ",")
- End If
- Next
- Next
- For i2 = 1 To 5 '3
- d(i2).RemoveAll
- Next
- Sheets("2").Activate
- [a:ac] = [a:ac].Value
- Next
- End Sub
复制代码
|
|