网站首页 > 基础教程 正文
【分享成果,随喜正能量】世界上有三件事情做起来最吃亏:为尚未发生的事情而担忧;为自己想象的结果而焦虑;为过去的过错而不断自责。过去心不可得,现在心不可得,未来心不可得。。
《VBA代码解决方案》(10028096)这套教程是我最早推出的教程,目前已经是第三版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码摆好。
这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过渡教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是第59讲:如何在代码运行时创建数组
第五十九讲 如何在代码运行时创建数组
大家好,我们今日继续讲解VBA代码解决方案的第59讲内容:如何在代码运行时创建数组。
1 Array函数和LBound函数、UBound函数
数组大家并不陌生,为此我有专门的教程讲解,详细阐述数组的利用价值。今日讲的是在VBA中代码运行的时候如何创建数组,为了实现这个目的,我们需要梳理一下下面的几个知识点:
1) 创建数组函数:Array函数。这个函数返回一个包含数组的Variant,语法如下:
Array(arglist)
Arglist参数是一个用逗号隔开的值表,这些值用于给Variant所包含的数组的各元素赋值。如果不提供Arglist参数,则创建一个长度为 0 的数组。使用Array函数可以在代码运行时创建数组并把一系列数据保存在数组中,
2) LBound函数和UBound函数取得数组的最小和最大下标。
LBound函数:返回一个Long型数据,其值为指定数组维可用的最小下标,
语法如下:LBound(arrayname[, dimension])
UBound函数:返回一个Long型数据,其值为指定数组维可用的最大下标,
语法如下:UBound(arrayname[, dimension])
参数arrayname是必须的,数组变量的名称。
参数dimension是可选的,指定返回哪一维的下界,1表示第一维,2表示第二维,如此类推。默认为1。
- 特别注意点:UBound函数与LBound函数一起使用,可以用来确定数组的大小。
3) Option Base数组下界的声明:Option Base用来声明数组下标缺省下界的函数,在模块级别中使用。由于下界的缺省设置是 0,因此无需使用 Option Base 语句。如果使用该语句,则必须写在模块的所有过程之前。一个模块中只能出现一次 Option Base,且必须位于带维数的数组声明之前。注意 Dim、Private、Public、ReDim 以及 Static 语句中的 To 子句提供了一种更灵活的方式来控制数组的下标。不过,如果没有使用 To 子句显式地指定下界,则可以使用 Option Base 将缺省下界设为 1。
2 在代码运行时创建数组的实例及实例讲解
示例代码如下:
Option Base 1
Sub mynz_59() '59 如何在代码运行时创建数组
Dim arr As Variant
Dim i As Integer
arr = Array("A111", "A222", "A333", "A444", "A555", "A666", "A777", "A888")
For i = LBound(arr) To UBound(arr)
Sheets("59").Cells(i, 1) = arr(i)
Next
End Sub
代码窗口:
代码解析:Sub mynz_59过程使用Array函数创建一个数组用来保存数据并将其写入到工作表的单元格区域。
1)第1行代码使用Option Base语句声明数组下标的缺省下界为1,数组下标的缺省下界默认为0。
2)第5行代码使用Array函数创建数组用来保存数据。
3)第6行代码使用LBound函数和UBound函数取得数组的最小和最大下标。
4)第7行代码确定数组的大小后使用For...Next语句遍历数组元素并将数组元素依次写入到工作表的A列单元格中。
运行效果:
今日内容回向:
1 创建数组用什么函数?(Array函数)
2 数组的上下界是如何取得的?
本讲内容参考程序文件:VBA代码解决方案(55-60).xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
【分享成果,随喜正能量】“真正给你撑腰的,是银行的存款,知识的储备和做事果断,是心中那个打不败的自己。。
- 上一篇: JS|5种方法创建数组及相关操作
- 下一篇: 教师规格里面的数组创建方法
猜你喜欢
- 2024-11-18 C语言探索之旅:数组
- 2024-11-18 数组及在Excel中应用
- 2024-11-18 机器学习实战:Numpy多维数组的创建、索引与切片
- 2024-11-18 非理工科编程零基础文科生秒懂python学习笔记Numpy创建数组9妙方
- 2024-11-18 5分钟课堂:Java数组
- 2024-11-18 VBA字典与数组第十八讲:VBA中静态数组的定义及创建
- 2024-11-18 18.C语言:实践:创建一个动态数组库
- 2024-11-18 在JavaScript中,如何创建一个数组或对象?
- 2024-11-18 NumPy 基础知识 — 创建和操作数组
- 2024-11-18 掌握数组公式,从小白走向大师的必经之路,小白?或大师?
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)