- 系统环境:Windows 10
- Excel:2010版本
今天讲讲数组实例
将工作表中的数值赋值给数组
Part 1:实现用Resize将工作表中数据给数组赋值
Option Explicit
Sub Test()
Dim A
Dim B As Variant
Dim C()
Dim D
Dim TypA
Dim TypB
Dim TypC
Dim TypD
A = 1
B = 2
C = Array("VB", "与", "Office")
D = Cells(1, 1).Resize(3, 1)
TypA = TypeName(A)
TypB = TypeName(B)
TypC = TypeName(C)
TypD = TypeName(D)
Debug.Print ("TypA=" & TypA)
Debug.Print ("TypB=" & TypB)
Debug.Print ("TypC=" & TypC)
Debug.Print ("TypD=" & TypD)
End Sub
输出结果如下
TypA=Integer
TypB=Integer
TypC=Variant()
TypD=Variant()
图1 代码截图
图2 对应工作表信息
Part 2:工程资源管理器
- 本代码直接写于VBE(VBA代码编辑窗口)中的Sheet1工作表对应的区域,直接双击即可
- 如果发现的VBE找不到上图中的信息,菜单栏-视图-点击工程资源管理器
- 没有写在模块中的一个好处是,直接使用该工作表的数据,无需加工作簿.工作表前缀
图3 工程资源管理器
Part 3:部分代码解读
- TypeName函数返回变量所含数据的数据类型
- 数据类型中加入(),表示为数组类型,如C的数据类型为Variant()
- D = Cells(1, 1).Resize(3, 1),可以直接将Resize获得的信息直接赋予一个变量
- D定义变量的时候,只能定义为Variant(Dim D默认类型为Variant),不能写为D(),否则会提示类型不匹配
- D类似一个单元格区域,最左上方位置为(1,1)
以上,为本次的介绍内容,下回见。
本文首发于微信公众号:Excel高效办公之VBA。排版和细节略作修改,发于头条