Excel

微信公众号原文

系统:Windows 7
软件:Excel 2016

  • 本系列讲讲数组功能
  • 今天说说如何定义数组

Part 1:背景

  1. 数组有1维,2维,3维等多个维度。这个系列主要讲1维和2维数组,一般也就够用
  • 1维数组简单理解就是1行数据
  • 2维数组简单理解就是1个Excel的工作表,有行和列两个维度
  1. 数组一般是用于在程序运行过程中临时存储数据,从1-2维数组的作用来看,完全可以使用Excel工作表来代替。数组的优势在于它是临时存在于内存中,无需写入硬盘中,它的读写速度非常快

Part 2: 数组的定义

  1. 以下实现了三种方式定义数组
    • 已知数组的行和列数,Dim arr(1 To 3, 1 To 2),行号范围为1-3,列号范围为1-2
    • 刚开始未知数组的行和列数,在程序运算的过程中得知当前的行数和列数,ReDim arr(0 To 2, 2 To 3)
    • 通过Array直接赋值

Part 3: 代码

Sub test1()Dim arr(1 To 3, 1 To 2)arr(1, 1) = 1arr(1, 2) = 2arr(2, 1) = Truearr(2, 2) = Falsearr(3, 1) = "Yes"arr(3, 2) = "ok"End Sub

运行结果

Sub test2()Dim arr()ReDim arr(0 To 2, 2 To 3)arr(0, 2) = 2arr(0, 3) = 3arr(1, 2) = 4arr(1, 3) = 5arr(2, 2) = 6arr(2, 3) = 7
End Sub

运行结果

Sub test3()arr1 = Array(1, 2, 3)arr2 = Array(Array(1, 2, 3), Array(4, 5, 6))arr3 = Array(Array(1, 2, 3), Array(4, 5, 6), Array(7, 8, 9))
End Sub

运行结果

Part 4: 部分代码解读

  1. arr(1 To 3, 1 To 2)表示行号从1到3,列号从1到2,是一个3X2的数组,可以理解为一个Excel的单元格区域
  2. arr(1, 1) = 1,给行号为1列号为1的区域赋值为1,类似Excel,不同的单元格可以赋值不同数据类型的值
  3. ReDim arr(0 To 2, 2 To 3),假如我们在刚建立数组时,并不知道它的行数和列数,可能通过一番运算才知道行数为m,列数为n,那么可以通过该方法定义为
    • ReDim arr(1 To m, 1 To n)
  4. arr1 = Array(1, 2, 3)定义1维数组,注意这种方式定义的数组,索引默认从0开始
  5. arr2 = Array(Array(1, 2, 3), Array(4, 5, 6)),这种方式相当于定义2行单元格,列数为3

  • 更多学习交流,可加小编微信号learningBin

更多精彩,请关注微信公众号
扫描二维码,关注本公众号