Excel VBA真正的动态数组实例

6 篇文章 0 订阅

一、动态数组的定义

动态数组的定义,一开始不需要给数组标明上界和下界。直接定义即可,如下面的代码:
Dim MyStr() As String
这样,就定义了一个动态数组及其名称:MyStr(),现在,该数组的上界下界都是个未知数,也就是说,数组中到底有没有内容或到底有什么内容,是个未知数。
因此,要使用动态数组,就必须对其定义好下界和上界。

二、给动态数组确定下界和上界

给动态数组重新确定下界和上界,那么,分两种情况。
①保留原值
采用此代码:ReDim Preserve MyStr(n) 'n为数组长度
②不保留原值
采用此代码:ReDim MyStr(n) 'n为数组长度
③以上两种情况的实例
下面我们看如上两种情况的小实例:
比如:
Dim MyStr() As String
ReDim MyStr(2)
MyStr(0)=”1”
MyStr(1)=”2”
现在,这个动态数组有两个值了,分别是0和1,现在,我们再重新确定该数组的长度。
当然,重新确定自然又有两种情况了。
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 Integer
n = 0
Dim MyStr() As String
For i = 1 To Sheet1.UsedRange.Rows.Count
	For j = 1 To Sheet1.UsedRange.Columns.Count
		n = n + 1
		ReDim Preserve MyStr(n) '给动态数组重定义一个实际的大小
		MyStr(n - 1) = Sheet1.Cells(i, j).Value '存到动态数组里去
	Next j
Next i
For Each MyArray In MyStr
	MsgBox "数组的值是" & MyArray
Next
以上代码的功能是:将Sheet1中已经有数据的单元格区域,通过VBA代码循环找到每行每列对应的单元格的值,通过对话框显示出来。
注意哦,数组的使用,其下界都是从0开始的。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值