|
本帖最后由 f1red88 于 2014-6-10 14:39 编辑
请教不用Application.Transpose方法输出统计的数和每个数的个数
第一位从1-5里选出1个数,第二位从1-10选出1个数并是奇数,
当二位符合奇数时,输出第一位和第二位的和,
统计和的数和每个数的个数- Sub duib()
- Dim x, y As Integer
- Dim array1(1 To 51, 1 To 1) As Long
- Set d = CreateObject("scripting.dictionary")
- For x = 1 To 5
- For y = 1 To 10
- If x Mod 2 = 1 Then
- xt = xt + 1
- array1(xt, 1) = y + x
- d(array1(xt, 1)) = d(array1(xt, 1)) + 1
- End If
- Next
- Next
-
- [A1].Resize(25, 1) = array1
- [c7].Resize(1, 2) = Array("相同元素", "出现次数")
- [c8].Resize(d.Count, 1) = Application.Transpose(d.keys)
- [d8].Resize(d.Count, 1) = Application.Transpose(d.items)
- End Sub
复制代码 输出结果:
2 | | | | 3 | | | | 4 | | | | 5 | | | | 6 | | | | 7 | | | | 8 | | 相同元素 | 出现次数 | 9 | | 2 | 1 | 10 | | 3 | 1 | 11 | | 4 | 2 | 4 | | 5 | 2 | 5 | | 6 | 3 | 6 | | 7 | 3 | 7 | | 8 | 3 | 8 | | 9 | 3 | 9 | | 10 | 3 | 10 | | 11 | 3 | 11 | | 12 | 2 | 12 | | 13 | 2 | 13 | | 14 | 1 | 6 | | | | 7 | | | | 8 | | | | 9 | | | | 10 | | | |
代码请测试,是完全按照你原有的功能改编的,如果数据结果有误,也是原来的代码缺陷
造成的,因为我不知道你到底需要什么。 - Sub duib()
- Dim x&, y&, array1(1 To 51, 1 To 1) As Long, brr(1 To 51, 1 To 2), d As Object, r&
- r = 1
- brr(1, 1) = "相同元素": brr(1, 2) = "出现次数"
- Set d = CreateObject("scripting.dictionary")
- For x = 1 To 5
- For y = 1 To 10
- If x Mod 2 = 1 Then
- xt = xt + 1
- array1(xt, 1) = y + x
- If Not d.exists(array1(xt, 1)) Then
- r = r + 1
- brr(r, 1) = array1(xt, 1)
- brr(r, 2) = 1
- d(array1(xt, 1)) = r
- Else
- brr(d(array1(xt, 1)), 2) = brr(d(array1(xt, 1)), 2) + 1
- End If
- End If
- Next
- Next
- [A1].Resize(25, 1) = array1
- [c7].Resize(d.Count, 2) = brr
- End Sub
复制代码
|
|