数组的静态和动态之分点击上方“Excel和VBA”,选择“置顶公众号” 致力于原创分享Excel的相关知识,源码,源文件打包提供 一起学习,一起进步~~ 相信大家都已经对数组有了一定的了解了,并在之前学习的过程中,我们也是使用过数组的相关方法了 但是看到今天的这个标题,你是不是感觉还有一点疑惑,数组还有动态和静态的分别? 为什么我在使用的过程中并没有发现呢? 我们来看几个例子 这是我们今天模拟的一份数据,这份数据是利用公式生成的一个随机数,数字区间是 看下代码
非常简单的代码,我们将工作表的所有适用区域都装到了数组中,那么现在这个 这个数组有什么特点呢?
当前工作表的已使用区域是不是就那么大,并且他有多少行,有多少列,我们都是可以计算出来的 那么这样的一个区间是固定的,那么装到一个数组当中,得到的就是一个静态的数组 这就是最简单的静态数组 那么来看看动态数组
代码就稍微有一点长了,我们来看看最终的结果 这段代码要实现的效果,就是将这个单元格区域内所有大于80的数据全部找出来,并且状态数组中 那么现在我们单独看这个数据源 你知道这里面有多少个数字大于80嘛?一眼看下去,你肯定不知道,所以你才需要使用 那么当你不知道最终的结果有多少个 的时候,你又想要装到数组中进行后续的计算或者写入,那么这个时候你就要用到动态数组了。 起手式 ReDim Preserve arr(1 To 1, 1 To k) ReDim Preserve是 arr是你申明的动态数组的名称, 后面两个括号内的是重点 看上面的截图,前面的代表的是第一个维度,后面的代表的是第二个维度 动态数组有一个特点,他只能改变一个维度,那就是最后一个维度,即第二个维度 所以在申明动态数组的时候,一定要保证只有第二个维度是动态的,第一个维度一定是静态的 如果没有现成的条件,努力想办法往这个方向发展 比方说我们今天的案例 我们要找出大于80的数据,那么就是个数不定,但是我最终的结果肯定是放在一列中展示的,所以第一个维度就可以是1 需要变化的就是第二个维度,找到一个,那第二个维度就加一 这是一个常用的构造动态数组的方法 最终我们可以看到这样的展示结果 这就是今天我们要学习的简单的动态数组的写法和构造方法 数组其实本身并不难,难就难在空间逻辑思维的构造,如何在脑海中形成一个动态数组的空间概念,这还需要大家在之后多学习多练习,最终才可以水到渠成 ========================== |
|