VBA 中 数组下标越界问题

DimNewdate()Forj=3ToR2IfDateValue(S.Cells(j,C1-3).Value)>DateValue(S.Cells(R1,1).Valu... Dim Newdate()
For j = 3 To R2
If DateValue(S.Cells(j, C1 - 3).Value) > DateValue(S.Cells(R1, 1).Value) _
And DateValue(S.Cells(j, C1 - 3).Value) <> DateValue(S.Cells(j - 1, C1 - 3).Value) Then
ReDim Preserve Newdate(1 To i)
Newdate(i) = DateValue(S.Cells(j, C1 - 3).Value) ('下标越界)
i = i + 1
End If
Next j
其中C1,R2都是已知整数,运行结果出现Newdate下标越界?哪里错了?
i已赋初值i=1
展开
 我来答
表里如一
2013-08-23 · 知道合伙人软件行家
表里如一
知道合伙人软件行家
采纳数:2066 获赞数:11638
从事6年生产管理,期间开发了多款小软件进行数据处理和分析,后

向TA提问 私信TA
展开全部
i没有赋值,i=0
ReDim Preserve Newdate(1 To i)
变成ReDim Preserve Newdate(1 To 0)
所以下表越界
更多追问追答
追问
设有初值,还是错误。
追答
C1是不是小于3?
skyzxh

2013-08-23 · 知道合伙人软件行家
skyzxh
知道合伙人软件行家
采纳数:2623 获赞数:8344
毕业于中科院,硕士,30年工程从业经验。现任公司技术负责。

向TA提问 私信TA
展开全部
你 定义 Newdate(1 To i),而最后 i=i+1,当i+1时,越界了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
declanjun
2013-08-23 · TA获得超过275个赞
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:92.7万
展开全部
没有给 i 赋初值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式