Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2842|回复: 8

[已解决]运行错误7,内存溢出

[复制链接]
发表于 2014-12-8 19:25 | 显示全部楼层 |阅读模式
本帖最后由 mmc998 于 2014-12-9 18:50 编辑

数据少,可以运行。数据多,就出错
最佳答案
2014-12-8 19:41
Dim arr, brr, crr, d, i&, j%, k%, s%
换成
Dim arr, brr, crr, d, i&, j&, k&, s&
 楼主| 发表于 2014-12-8 19:27 | 显示全部楼层
Sub Macro1()
Dim arr, brr, crr, d, i&, j%, k%, s%
arr = Range("a8").CurrentRegion
brr = Range("p1").CurrentRegion
ReDim d(1 To UBound(brr, 2))
ReDim crr(1 To UBound(arr), 1 To UBound(brr, 2))
For j = 1 To UBound(brr, 2)
    Set d(j) = CreateObject("scripting.dictionary")
    For i = 1 To UBound(brr)
        d(j)(brr(i, j)) = ""
    Next
Next
For i = 1 To UBound(arr)
    For j = 1 To UBound(brr, 2)
        s = 0
        For k = 1 To UBound(arr, 2)
            If d(j).exists(arr(i, k)) Then s = s + 1
        Next
        crr(i, j) = s
    Next
Next
Range("p8").Resize(UBound(crr), UBound(crr, 2)) = crr
End Sub
回复

使用道具 举报

发表于 2014-12-8 19:41 | 显示全部楼层    本楼为最佳答案   
Dim arr, brr, crr, d, i&, j%, k%, s%
换成
Dim arr, brr, crr, d, i&, j&, k&, s&
回复

使用道具 举报

 楼主| 发表于 2014-12-9 17:50 | 显示全部楼层
运行一次需要5分钟时间,这是小事,就是运行几次后,有会出错
回复

使用道具 举报

发表于 2014-12-9 19:03 | 显示全部楼层
具体原因,还要在看了附件,测试后才好说。因此建议:
1)上传附件
2)说清问题
回复

使用道具 举报

 楼主| 发表于 2014-12-9 19:31 | 显示全部楼层
爱疯 发表于 2014-12-9 19:03
具体原因,还要在看了附件,测试后才好说。因此建议:
1)上传附件
2)说清问题

表格过大,没法传
回复

使用道具 举报

发表于 2014-12-9 19:39 | 显示全部楼层
先只传20行,

虽然传了也不一定就能解决问题,但不传就更不好解决了。
回复

使用道具 举报

 楼主| 发表于 2014-12-9 19:44 | 显示全部楼层
爱疯 发表于 2014-12-9 19:39
先只传20行,

虽然传了也不一定就能解决问题,但不传就更不好解决了。

双色球14码组合,整张的数据
回复

使用道具 举报

发表于 2014-12-9 19:53 | 显示全部楼层
mmc998 发表于 2014-12-9 19:44
双色球14码组合,整张的数据

额。。。。。。。彩票还是等组合专家来解答吧,我不会组合。

另外,求助时不一定每次都要上传附件中全部的内容。
在确保会用答案的前提下,尽量只传和这次问题相关的数据。
行数太多,就先只上传少量行数。
.... 总之,一点点解决吧。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-28 20:09 , Processed in 0.454735 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表