Excel VBA真正的动态数组实例
来源:互联网 发布:剑灵女灵剑捏脸数据 编辑:程序博客网 时间:2024/05/01 16:33
一、动态数组的定义
动态数组的定义,一开始不需要给数组标明上界和下界。直接定义即可,如下面的代码:
Dim MyStr() As String
这样,就定义了一个动态数组及其名称:MyStr(),现在,该数组的上界下界都是个未知数,也就是说,数组中到底有没有内容或到底有什么内容,是个未知数。
因此,要使用动态数组,就必须对其定义好下界和上界。
二、给动态数组确定下界和上界
给动态数组重新确定下界和上界,那么,分两种情况。
①保留原值采用此代码:ReDim Preserve MyStr(n) 'n为数组长度②不保留原值采用此代码:ReDim MyStr(n) 'n为数组长度③以上两种情况的实例下面我们看如上两种情况的小实例:
比如:
Dim MyStr() As StringReDim MyStr(2)MyStr(0)=”1”MyStr(1)=”2”
现在,这个动态数组有两个值了,分别是0和1,现在,我们再重新确定该数组的长度。
当然,重新确定自然又有两种情况了。
A、保留原有数据
A、保留原有数据
ReDim Preserve MyStr(3) '原来长度是2,现在重新确定为3,并且,保留原有的数据。MyStr(2)=”3” '现在,该数组就有三个值了,分别是:MyStr(0)为1、MyStr(1)为2、MyStr(2)为3
B、不保留原有数据
如果我们使用如下代码:
ReDim MyStr(3)MyStr(2)=”3”
现在,该数组的长度尽管为3,但是,里面却只有一个数据了,那就是,MyStr(2)的值是3,而MyStr(0)和MyStr(1)里面,什么都没有。
关键字:Preserve的作用就的保留原有值,请根据需要加以取舍。
三、动态数组与EXCEL的结合使用实例
Dim n As Integern = 0Dim MyStr() As StringFor i = 1 To Sheet1.UsedRange.Rows.CountFor j = 1 To Sheet1.UsedRange.Columns.Countn = n + 1ReDim Preserve MyStr(n) '给动态数组重定义一个实际的大小MyStr(n - 1) = Sheet1.Cells(i, j).Value '存到动态数组里去Next jNext iFor Each MyArray In MyStrMsgBox "数组的值是" & MyArrayNext
以上代码的功能是:将Sheet1中已经有数据的单元格区域,通过VBA代码循环找到每行每列对应的单元格的值,通过对话框显示出来。
注意哦,数组的使用,其下界都是从0开始的。
- Excel VBA真正的动态数组实例
- excel vba真正的动态数组实例
- excel vba真正的动态数组实例-按需定义数组大小
- excel vba真正的动态数组实例-按需定义数组大小
- Excel VBA实例
- 【VBA】动态数组
- vba 数组(动态数组)
- Excel VBA之类模块 实例
- Excel vba编程实例 源码
- Excel vba编程实例 源码
- Excel VBA 字典/数组 示例
- [Excel VBA] 在VBA中如何将SQL得到的数据直接赋值到数组?
- EXCEL VBA 的潜力
- Excel的VBA
- Excel的VBA学习
- Excel VBA 数据视图和查询实例
- Excel使用VBA动态设置打印区域
- Excel VBA - 数组及其他知识
- 初识XML(一)
- HashSet中加入自定义的类的对象,不重复加入自定义
- QT工具栏图标设置
- QT带有主创窗口应用程序的创建
- Ajax学习(三),对GET方式或者URL传送中文时的乱码解决
- Excel VBA真正的动态数组实例
- windows下察看程序中包含的库的方法
- VC—>add files to folder失效
- 8259a中断控制器
- Big Data Counting: How To Count A Billion Distinct Objects Using Only 1.5KB Of Memory
- WinForm与WPF互操作,在WPF的TextBox中无法输入文字
- iOS系统GCD学习(5):信号量机制
- 黑马程序员_语句 函数 数组
- oracle中的dual表