vba数组讲解(V30.VBA数组知识点76问)(1)

24. 三维数组如何表示?

答:类似c[6][8][1],{{{1,2},{3,4}},{{5,6},{7,8}}} ,array(1 to 20,1to 30,1 to 50),

25. 一维数组、二维数组和三维数组在存储数据方面有何区别?

答:通常情况下,一维数组只能储存线性发展或组织的数据,如某个值随时间的变化;

二维数组多用来储存平面信息,比如图片就是一种二维数组的体现;而三维数组可以储存空间信息和更复杂的时空信息,比如视频就是一种三维数组的体现。而随着数组维数的增加,数组本身的复杂度也相应提升,所以需要对信息的维度有着准确的把握,在满足需求的情况下,尽量使用低维度的数组。

26. 数组有何优点?

答:简而言之共两个优点:

1)加快程序执行速度。

2)简化代码功能。

27. 数组按存储类型分几种?

答:按储存类型划分:静态数组、动态数组、常量数组

28. 什么是常量数组?

答:指由常量组成的数组,如:arr =Array(1, 2, 3, 4, 5),数组Arr就是一个常数数组,他有5个常数元素。

29. 什么是静态数组?

答:顾名思义,就是数组的区域大小是固定不变的,一旦超出这个区域就会提示错误。Dim arr(1 To 10, 1 To 2) ,这个就是声明arr是一个10行2列的二维数组,一旦超出这个区域输入输出数据就会提示错误,如下图所示:

vba数组讲解(V30.VBA数组知识点76问)(2)

30. 什么是动态数组?

答:指区域大小不固定的数组,即元素数量不固定的数组,也就是说这个数组的上限值是不固定。在以后的工作当中,用的最多的就是动态数组,也就是可变数据类型Variant。

31. 动态数组如何声明?

答:动态数组的声明方法和静态数组声明的方法稍有不同,动态数组是需要先用Dim声明是动态数组,当数组大小一旦被确认了,还需要再次用Redim进行二次声明。

32. dim a(3,4) as integer是什么意思?

答:指定义一个整形数据类型的二维数组

33. dim a(3)是什么意思?

答:指没有被定义数据类型的一维数组,默认为变体型。


34. dim a() as integer 是什么意思?

答:定义一个空整形的动态数组,在以后的到代码中可以重新定义为静态数组,例如:redim a(5,6),这就是动态数组声明的两个步骤,请看下图:

vba数组讲解(V30.VBA数组知识点76问)(3)

35. 声明动态数组需用注意的事项是什么?

答:

  1. 如果动态数组需要随某个变量进行不断的扩充(减少),那么数组就需要多次进行声明,每扩充(减少)一次就声明一次;
  2. 如果数组是多维的,只能动态声明最末维的,如果需要把让第一维不断扩充,还需要先转置,这个处理方法比较麻烦,在我们以后会说到这个的处理方法,在这里先请熟记上面的知识点。
,