永发信息网

VBA问题,求各位大神指点

答案:2  悬赏:60  手机版
解决时间 2021-04-15 11:26
  • 提问者网友:嘚啵嘚啵
  • 2021-04-15 06:15
VBA问题,求各位大神指点
最佳答案
  • 五星知识达人网友:愁杀梦里人
  • 2021-04-15 06:45
在这里,mark是一个数组
ReDim Preserve 是将后面的数组保留原有数值的情况下重新定义数组长度。

所以这段语言的意思是,arr储存区域B3:K3的数据

然后跑10次循环
每次的循环是如果这个格子不为FALSE(0),
那么就把一个叫mark的数组拉长一位,并将这个格子的数存进去。

这里k记录的是不为0的数字的个数,每当判断一个不为0的数时,k=k+1就会让k本身的值增加1
循环完成后,mark的数组里会按顺序储存B3:K3范围里不为0的数据追问“那么就把一个叫mark的数组拉长一位,并将这个格子的数存进去。”
大神,这句话的意思是不是,如果格子不为FALSE,那么就把mark的数组延长一位,然后把mark(k) = a 中,a此时的值记录到延长这一位的格子中去

比如:我前面循环10次时,其中第5和10次为false,其余都为ture,mark是不是就会延长8个格子,每个格子记录的分别为1,2,3,4,6,7,8,9追答是的,你理解的没错。原数据是1,2,3,4,0,6,7,8,9,0,记录下来就会是1,2,3,4,6,7,8,9。
全部回答
  • 1楼网友:骨子里都是戏
  • 2021-04-15 08:14
k = k + 1
这里的=不是等号
而是赋值运算
意思是给K的值加上1,再保存到K中
ReDim Preserve mark(1 To k)
就是重新定义数组大小,并保留数组中已经存在的值
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯