龙空技术网

VBA学习笔记:数组:数组的声明一

简单学学EXCEL 317

前言:

现在各位老铁们对“声明一维数组语句错误的是”可能比较关注,你们都想要知道一些“声明一维数组语句错误的是”的相关内容。那么小编也在网摘上收集了一些有关“声明一维数组语句错误的是””的相关文章,希望兄弟们能喜欢,咱们一起来学习一下吧!

许多的教材上讲解数组的声明:arr(1 to 10);二维数组brr(1 to 5,1 to 5),实际应用中却很少有这么规范的应用。就我了解的几种数组声明的方法与大家探讨一下:

第一种:Dim drr 最简单直接的声明,其实就是声明了一个变量。乐意的话就可以写成:Dim d 。

第二种:Dim crr() 声明成了个数组变量,直观上好区分 。

第三种:Dim arr(1 to 5), brr(1 to 5,1 to 5) 有明确的上下标,最正规化的声明方法。 注:如果上下标要用变量表示,例如crr(1 to n),则需用Redim crr(1 to n) 来声明。

看看在VBA 本地窗口中显示如何不同,如图:

三种声明方式在语法上区别:第一种的优点:直接赋值,如:drr=range("A1").CurrentRegion;也可用数组直接给它赋值。例:brr为一个一维嵌套数组(之前文章中的示例),语句:drr = WorksheetFunction.Transpose(WorksheetFunction.Transpose(brr))。缺点:在赋值成数组之前,不可用数组命令,语句Erase drr;redim Preserve drr 不适用。

第二种的优点:主用于数组动态变更数据长度,例:n=n+1;redim preserve crr(1 to n);crr(n) =值。不能直接这样赋值crr=range("A1").CurrentRegion;但可用crr = WorksheetFunction.Transpose(WorksheetFunction.Transpose(brr))。

第三种:赋值只能通过循环一个一个地写入,不能直接这样赋值 arr=range("A1").CurrentRegion;也不能 arr = WorksheetFunction.Transpose(WorksheetFunction.Transpose(brr))。

不可用redim给第三种变更维度大小

以上用法中,第一种的声明方式,适用性好,见到的最多。如图,赋值成数组后的drr,与第二种方式基本通用,而不像第二、三种产生各种不能赋值的情况。

认识数组的声明定义,是用好数组的第一步。

标签: #声明一维数组语句错误的是 #一维数组的声明语法为 #一维数组的声明形式 #数组声明方式