Understanding the 'x to y' in the VBA Dim myArray(x to y) statement
我已经搜索过网站、微软网站、VBA帮助,但找不到对dim语句中"0到10"部分的引用。
有人能帮我弄清楚到底是怎么回事吗?我怀疑这与多维数组的尺寸有关,但我想知道在封面下发生了什么,或者我是否是正确的。
编辑:抱歉,我开始在重新确定维度的上下文中考虑这个问题,这是我第一次看到示例的地方,但后来发现它也用于初始维度。
- @斯科特:链接的问题没有描述"0到10"。
- @沃尔特·亨泽,我的错。我也是第二次意识到这一点的。真希望在第一分钟左右的时间里有一种方法可以取回旗子。很多人都同意meta。
- 我意识到我最初写这个问题的方式并没有弄清楚我在问什么。我已经编辑了它,试图提供这种清晰度。我为我第一次试图问我问题的可悲的借口道歉。
此语句声明一个名为myarray的11个项(0到10)的空variant数组。
它是一个变量,因为没有特别声明为任何其他类型。
- 声明之后,可以使用这样的变量:myArray(0)="hello!"和myArray(10)=2.5。如果使用小于0或大于10的索引,将导致错误。如果您访问一个尚未初始化的元素(显式赋值),它将返回"Nothing"。注意,vba对于数组的基数有点奇怪-在许多情况下,它忽略了数组的下限…
- 这与dim myArr(10)有什么不同?
- @ Rob。myarr(10)只有10个元素。0到9。
- 只需注意,它是一个变量数组,而不是一个变量数组。msdn.microsoft.com/en-us/library/office/…
- @Matzone不一定,它取决于您的选项基础设置,如果是,那么您是正确的,myarr(10)将只有10个元素,默认的Option Base 0将导致11。最好声明下限
网址:http://excelvbatator.com/vba_chp21.htm
该网站对VBA中的数组进行了非常详细的解释。
简而言之,
Dim myArray(0 to 10)正在创建索引为0到10的数组(即11个元素)
对于您提到的重新确定维度,您应该寻找redim