[VBA ] redim的作用

楼主: markbaseball (Mark)   2015-04-15 20:23:02
请问版上大大有人可以用比较白话来解释redim这个函数的作用吗??
因为在网络上看到的解释都看不太懂,只知道用redim可以比较省内存
想请各位大大帮忙啦!!谢谢
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-04-15 20:30:00
比较省是谁讲的 可否提供网址拜读一下
作者: wenyonba (射后不理很XX啊!!!!)   2015-04-15 21:18:00
网络上的解释都看不懂我很怀疑,Google一搜就有MSDN
作者: johnpage (johnpage)   2015-04-15 21:42:00
重新配置内存大小
作者: fumizuki (蒙面加菲狮)   2015-04-15 23:01:00
redim不是函数,redim是陈述式,用来重新宣告阵列变量有没有省内存是看你所有变量总共用了多少空间而定跟redim无关
作者: ClubT (小喬)   2015-04-16 11:22:00
我猜 如果你一开始 Redim arr(99) 用完后 Redim arr(0)第二次 Redim arr(0) 就会省内存
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-04-16 15:34:00
可是我以前看到都是dim k()玩一玩然后再redim k(5000)这样怎么会比较省内存
楼主: markbaseball (Mark)   2015-04-16 21:05:00
http://ppt.cc/aPny 这里有写到ReDim 可以借由减少阵列大小,释放内存
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-04-17 00:36:00
你写什么程式会写到这样释放内存?来个scenario听听
作者: wenyonba (射后不理很XX啊!!!!)   2015-04-17 09:10:00
话说真的写VB的时候,释放通常就erase全放掉了,如果是用到ReDim的时候,通常是阵列已经不够大,只会增加没在减少的情况比较多XD
作者: johnpage (johnpage)   2015-04-17 12:17:00
内存不是1byte 1byte增加或减少
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-04-17 23:07:00
是阿 redim就跟realloc一样 用来扩张机会较大
楼主: markbaseball (Mark)   2015-04-18 13:52:00
隐性差分求option
作者: cf1064 (蚵仔)   2015-04-29 00:40:00
之前写程式有用到用在全域变量上例如我要宣告一个buttom阵列,但是不知道几个,所以先在全域dim buttom1()然后在某个function里下sql找出共十笔资料,所以要变成十个buttom1, 所以就要redim button1(10), 之后例如在某个function下要对button(2)下enable=false就可以用了因为在全域下无法下sql等等的指令,所以采用这个方法可以看我之前文章有

Links booklink

Contact Us: admin [ a t ] ucptt.com