Excel精英培训网

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

[已解决]数组变量,提示下标越界,可F8时又有结果,高手进来瞅一眼:

[复制链接]
发表于 2015-8-8 14:50 | 显示全部楼层 |阅读模式
数组变量,提示下标越界,可F8逐条运行时又有结果,全部运行时又提示下标越界,而且此条代码事件不真正执行!我看了半天了,这条代码没错呀!实在找不出原因来了,求高手点点:
最佳答案
2015-8-8 14:59
当i=3001时,arr(i+1,1)超出数组最大下标
010101.jpg

下标越界.rar

54.72 KB, 下载次数: 2

发表于 2015-8-8 14:59 | 显示全部楼层    本楼为最佳答案   
当i=3001时,arr(i+1,1)超出数组最大下标
回复

使用道具 举报

 楼主| 发表于 2015-8-8 15:01 | 显示全部楼层
天天EP 发表于 2015-8-8 14:59
当i=3001时,arr(i+1,1)超出数组最大下标

哦,原来是这样的.这么简单我怎么就想了半天!谢谢!
回复

使用道具 举报

发表于 2015-8-8 15:04 | 显示全部楼层
Sub 内容少的2()
''st = Timer
    Sheet1.[E12:G3100].ClearContents
    arr = Sheets("数据区").Range("V6:X3006")
    ReDim brr(1 To UBound(arr, 1), 1 To 16)     ''
        For i = 1 To UBound(arr, 1)
            If arr(i, 1) > 0 And arr(i, 1) < 2 Then brr(i, 1) = "项目1"
            If arr(i, 2) > 2 And arr(i, 2) < 6 Then brr(i, 2) = "项目2"
            If arr(i, 3) > 6 And arr(i, 3) < 8 Then brr(i, 3) = "项目3"
            If arr(i, 3) > 5 And arr(i, 3) < 7 Then brr(i, 4) = "项目4"  '
            If arr(i, 3) > 2 And arr(i, 3) < 7 Then brr(i, 5) = "项目5"
            If i < UBound(arr) Then
                brr(i, Abs(arr(i, 1) - arr(i + 1, 1)) + 6) = Abs(arr(i, 1) - arr(i + 1, 1))   '错在这一句,提示下标越界!
            End If
       '' 这句代码是想把,arr = Sheets("数据区").Range("V6:X3006"),这个数组里面单元格V6-V7的绝对值,
        
        
        
        
        Next
     Sheets("测试").[E12].Resize(UBound(brr, 1), UBound(brr, 2)) = brr
''MsgBox Timer - st
End Sub
最后一条不计看看
回复

使用道具 举报

 楼主| 发表于 2015-8-8 15:10 | 显示全部楼层
天天EP 发表于 2015-8-8 15:04
Sub 内容少的2()
''st = Timer
    Sheet1.[E12:G3100].ClearContents

可以.只是我想全部运算,得想个办法!
回复

使用道具 举报

发表于 2015-8-8 15:30 | 显示全部楼层
chulia_wong 发表于 2015-8-8 15:10
可以.只是我想全部运算,得想个办法!

那最后一条记录不能套前面的规则,你得定个规则
回复

使用道具 举报

 楼主| 发表于 2015-8-8 15:38 | 显示全部楼层
天天EP 发表于 2015-8-8 15:30
那最后一条记录不能套前面的规则,你得定个规则

如果我把arr(i+1,1)换成Cells(i + 6, "v").Value,会不会降低运行速度?这样是不是就没有用到数组了?
回复

使用道具 举报

发表于 2015-8-8 15:42 | 显示全部楼层
brr(i, Abs(arr(i, 1) - arr(i + 1, 1)) + 6) = Abs(arr(i, 1) - arr(i + 1, 1))
这个是个规则,你得如何定最后一条规则该如何实现
当然数组快
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-24 01:03 , Processed in 0.409994 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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