咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公
  • 系统环境: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:工程资源管理器

    1. 本代码直接写于VBE(VBA代码编辑窗口)中的Sheet1工作表对应的区域,直接双击即可
    2. 如果发现的VBE找不到上图中的信息,菜单栏-视图-点击工程资源管理器
    3. 没有写在模块中的一个好处是,直接使用该工作表的数据,无需加工作簿.工作表前缀


图3 工程资源管理器



Part 3:部分代码解读

  1. TypeName函数返回变量所含数据的数据类型
  2. 数据类型中加入(),表示为数组类型,如C的数据类型为Variant()
  3. D = Cells(1, 1).Resize(3, 1),可以直接将Resize获得的信息直接赋予一个变量
  4. D定义变量的时候,只能定义为Variant(Dim D默认类型为Variant),不能写为D(),否则会提示类型不匹配
  5. D类似一个单元格区域,最左上方位置为(1,1)




以上,为本次的介绍内容,下回见。

本文首发于微信公众号:Excel高效办公之VBA。排版和细节略作修改,发于头条