必威体育Betway必威体育官网
当前位置:首页 > IT技术

Excel VBA基础语法——数组(四)

时间:2019-06-29 13:45:35来源:IT技术作者:seo实验室小编阅读:72次「手机版」
 

vba数组

上一节中学习了变量类型、变量声明和赋值使用、作用域等内容,在声明变量的过程中会出现一次性需要声明多个同类型变量的情况,如果还是按照常规的方法,那么程序就比较杂乱,为了一次性声明多个同类型变量,引入了数组的概念。数组就是同类型多个变量的集合,也是变量。数组声明的语法规则如下:

      dim 数组名  (a  to   b)  as  数据类型

如:dim  七6班 (1  to 50 )as   string   ‘声明一个数组名为七6班数据容量为50的string变量,即声明了50个变量名为七6班1、2......50的string类型变量

声明数组时,也可以用一个自然数n指定数组长度,该自然数作为数组的最大索引号,但数组默认索引号是0,数组长度为n+1,如:

dim  arr(49)as   string    ”数组长度为50,如果在模块的第一句写上option  base  1,尽管只使用一个自然数确定数组长度,数组起始索引号也是1。

      如:sub  sztest() 

        dim  arr (1  to 10)as  integer,i as  integer

        for i  =  1  to  10

            arr(i)= i              ”arr数组赋值

         next              

        end sub

多维数组

上面主要说明了一维数组,实际运用过程中还存在二维、三维......数组,多维数组声明和使用同一维数组类似,如:

dim   arr1(1 to 10,1 to  10)as  integer   或  dim  arr1(9,9)as   integer

dim   arr2(1 to 10,1 to 10,1 to 10) as  string   或dim  arr2  (9,9,9) as  string

声明动态数组

      如果在声明数组时,不能确定数组的长度时,可以在首次定义数组时括号为空,写成:

dim  数组名称()as  string

 然后在程序中使用redim语句重新制定数组长度。

 如:sub dtsz()

               dim  arr()as  string

               dim  n as  long

               n = APPliC++ation.worksheetfunction.count(range("a:a")) “统计A列有多少个非空单元格

               redim  arr(1  to  n) as   string     ”重新定义数组大小

                end  sub

注意:已经定义大小的数组同样可以使用redim语句重新指定它的大小。

关于数组的一些知识

1、将某个单元格区域的值直接存储到数组里,可以直接把单元格区域的值赋值给变量名。

如:sub  rngarr()

               dim  arr  as  variant

               arr = range("a1:c3").value

               range(“e1:g3”).value = arr

       end sub

2、将数组中的元素赋值给单元格

将数组中某个元素赋值给某一单元格。如:range(“a1”).value = arr(1)

将整个数组元素赋值给单元格区域。 

如:Sub arr_rng()

           Dim arr() As Variant

           arr = Array(2, 4, 8)

           Worksheets("sheet2").Range("a3:c3").Value = arr

    End Sub

如: Sub arr_rng()

               Dim arr() As Variant

               arr = Array(2, 4, 8)

               Worksheets("sheet2").Range("a3:a5").Value = WorksheetFunction.Transpose(arr)

         End Sub

如:Public Sub arr_rng()

                 Dim arr(1 To 2, 1 To 3) As Variant

                 arr(1, 1) = 1

                 arr(1, 2) = "张勇"

                 arr(1, 3) = "男"

                 arr(2, 1) = 2

                 arr(2, 2) = "林梅"

                 arr(2, 3) = "女"

                 worksheets("sheet2").range("A1:C2").value = arr

   End Sub

相关阅读

jQuery——获取标签数组的长度

在原生中的JavaScript中,获取标签数组的长度(如"li"的个数) var liLists=document.getElementsByTagName("li"); console.log(liLi

18. C语言 -- 指针数组和数组指针

本博客主要内容为 “小甲鱼” 视频课程《带你学C带你飞》【第一季】 学习笔记,文章的主题内容均来自该课程,在这里仅作学习交流。在

关于KMP算法中next数组和nextVal数组求法的整理

例如: 序号 1 2 3 4 5 6 7 8 模式串 a b a a b c a c next值 0 1 1 2 2 3 1 2 next数组的求解方法是: 第一位的next值为0,第二位的n

Java中数组的定义和使用

如果希望保存一组有相同类型的数,可以使用数组。今天天气不错,来复习复习Java数组。数组的定义和和内存分配Java中定义数组的语法有

约瑟夫环问题(数组和list方法)

先介绍一下什么是约瑟夫环问题:就是N个人围成一圈,从开头(下标为0)报数,报到你设置的Number就要出局,几轮下来后剩下最后一个人输出这

分享到:

栏目导航

推荐阅读

热门阅读