|
本帖最后由 lijian8003 于 2014-12-14 15:09 编辑
请看附件:
1、先统计第1行:B1-K1的数据中,有多少与A1数据相同,此例有3个
2、再统计第2行:B2-K2的数据中,出现3次的数据是19 24
3、然后提取第2行出现3次的数据19 24,并写入D:/数据/1.txt,数据间用空格分隔,数据末尾加回车键
如果第2行没有出现3次的数据,则在D:/数据/1.txt中写入空,并加回车键。
这样的VBA如何用数组方式表示?恳望得到帮助。
- Sub Macro1()
- Dim arr, d, i&, j%, n%, k%
- Set d = CreateObject("scripting.dictionary")
- arr = [a1:k2]
- n = Application.CountIf([b1:k1], [a1])
- '测试路径:ThisWorkbook.Path & "\1.txt"
- Open ThisWorkbook.Path & "\1.txt" For Output As #1
- For i = 2 To 2 '数组行
- For j = 2 To UBound(arr, 2)
- d(arr(i, j)) = d(arr(i, j)) + 1
- Next
- a = d.keys: b = d.items: p = ""
- For k = 0 To d.Count - 1
- If b(k) = n Then p = p & a(k) & " "
- Next
- Print #1, p
- d.RemoveAll
- Next
- Close #1
- End Sub
复制代码
|
|