咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公
  • 系统环境:Windows 10
  • Excel:2010版本


今天讲讲数组常用函数

IsArray,Array,Ubound,Lbound



Part 1:数据类型

  • 定义变量的时候可以同步定义变量的数据类型
  • 数据类型包括:整型Integer,布尔型Boolean,双精度浮点型Double,字符串String,变体型Variant
  • 数据类型决定了变量在内存中的存储方式和占用空间,也会影响到程序运行速度,计算机硬件资源是有限的,合理选择数据类型,尤其对于大型程序是很有必要的
  • 通过变量类型告诉计算机你想干啥,也可以防错
  • 当不确定变量具体的类型时,数据类型可选择为变体型Variant
  • 当变量定义采用Dim X 未指定类型时,默认即为变体型Variant



Part 2:Array,IsArray

  • Array,创建一个数组,要求对应变量声明为变体型Variant,否则会报错
  • IsArray判断变量是否为数组,返回True,False
  • Option Explicit,在过程前加上这一句,即要求所有变量必须先定义再使用,及显式定义
  • 可以在菜单中统一设置显式定义工具-选项-编辑器-勾选要求变量声明,如图1所示


图1 选项

  • 代码如下

Option Explicit Sub test() Dim astrTest1(1 To 3) As Integer Dim astrTest2 As Variant Dim intValue As Integer Dim bolValue1 As Boolean Dim bolValue2 As Boolean Dim intI As Integer For intI = 1 To 3 Step 1 astrTest1(intI) = intI Next intI astrTest2 = Array("VB", "与", "Office") intValue = 1 bolValue1 = IsArray(astrTest2) bolValue2 = IsArray(intValue) End Sub


图2 代码截图



Part 3:Ubound,Lbound

  • Ubound确定数组的上边界
  • Lbound确定数组的下边界
  • 数组默认下边界从0开始
  • 可以人为指定数组上下边界,要求上边界大于下边界即可

代码如下

Option Explicit Sub test() Dim astrTest1(1 To 3) As Integer Dim astrTest2 As Variant Dim intUpLimit1 As Integer Dim intDownLimit1 As Integer Dim intUpLimit2 As Integer Dim intDownLimit2 As Integer Dim intI As Integer For intI = 1 To 3 Step 1 astrTest1(intI) = intI Next intI astrTest2 = Array("VB", "与", "Office") intUpLimit1 = UBound(astrTest1) intDownLimit1 = LBound(astrTest1) intUpLimit2 = UBound(astrTest2) intDownLimit2 = LBound(astrTest2) Debug.Print ("intDownLimit1=" & intDownLimit1) Debug.Print ("intUpLimit1=" & intUpLimit1) Debug.Print ("intDownLimit2=" & intDownLimit2) Debug.Print ("intUpLimit2=" & intUpLimit2) End Sub

输出如下

intDownLimit1=1 intUpLimit1=3 intDownLimit2=0 intUpLimit2=2


图3 代码截图





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

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