_
caseBanner
当前位置:首页 > 新闻资讯
VBA二维数组的基本介绍
发布时间:2021-03-31 14:14:17 浏览: 98次 来源:【jake推荐】 作者:-=Jake=-

现在您知道如何以计划的方式生成列表(一维数组),是时候仔细研究如何使用数据表了。以下过程将生成一个二维数组,用于存储国家名称九州体育 ,货币名称和汇率。

Sub Exchange()
Dim t As String
Dim r As String
Dim Ex(3, 3) As Variant
t = Chr(9) 'tab
r = Chr(13) 'Enter
Ex(1, 1) = "Japan"
Ex(1, 2) = "Yen"
Ex(1, 3) = 128.2
Ex(2, 1) = "Mexico"
Ex(2, 2) = "Peso"
Ex(2, 3) = 9.423
Ex(3, 1) = "Canada"
Ex(3, 2) = "Dollar"
Ex(3, 3) = 1.567
MsgBox "Country " & t & t & "Currency" & t & "per US$" _
& r & r _
& Ex(1, 1) & t & t & Ex(1, 2) & t & Ex(1, 3) & r _
& Ex(2, 1) & t & t & Ex(2, 2) & t & Ex(2, 3) & r _
& Ex(3, 1) & t & t & Ex(3, 2) & t & Ex(3, 3), , _
"Exchange"
End Sub

运行Exchange进程时,您将看到一个显示三列信息的信息框(请参见图7- 2)

vb二维数组

图7-2可以自定义消息框中显示的文本。

数组的维度:

子数组()的示例:

Dim x As Long, y As Long
Dim arr(1 To 10, 1 To 3) '创建一个可以容下10行3列的数组空间
For x = 1 To 4
    For y = 1 To 3
        arr(x, y) = Cells(x, y) '通过循环把单元格区域a1:c4的数据装进数组中
    Next y
Next x
MsgBox arr(4, 3) '根据提供的行数和列数显示数组
arr(1, 2) = "我改一下试试"'你可以随时修改数组内指定位置的数据
MsgBox arr(1, 2)
End Sub

摘要:二维是由行和列表示的数组,例如ARR(3,2)表示数组中第三行和第二列中的元素。一维数组仅由一个数组确定元素,例如ARR(4)代表数组中的第4个元素,静态和动态数组

到目前为止vb二维数组,本章已经介绍了静态数组。静态数组是具有一定大小的数组。如果事先知道数组的大小,请使用静态数组。静态数组的大小在数组的声明语句中确定。例如,语句DimFruits(1 0) AsString声明了一个由10个成员组成的静态数组,称为Fruits。

但是,如果不确定数组将包含多少个成员,该怎么办?如果您的过程是由用户输入决定的,则每次执行程序时,用户提供的成员数可能会更改。如果您确保声明的数组不会浪费内存怎么办?

回想一下,在声明数组之后,VBA将留下足够的内存来存储该数组。如果声明的数组成员数超出所需,则将浪费计算机资源。解决此问题的方法是使阵列动态化。动态数组是可以更改大小的数组。如果每次运行程序都确定数组的大小,请使用动态数组。

vb二维数组_php 二维对象数组_excel数组赋值 二维

1.在当前项目中插入一个新模块凤凰彩票 ,并将其重命名为DynamicArrays

2.输入以下进程DynArray:

Sub DynArray( )
Dim counter As Integer
'declare a dynamic array
Dim myArray( ) As Integer
'specify the initial size of the array
Redim myArray(5)
Workbooks.Add
'populate myArray with values
For counter = 1 to 5
myArray(counter) = counter +1
ActiveCell.Offset(counter-1, 0).Value = myArray(counter)
Next
'change the size of myArray to hold 10 elements
Redim Preserve myArray(10)
'add new values to myArray
For counter = 6 To 10
myArray(counter) = counter * counter
With ActiveCell.Offset(counter-1, 0)
.Value = myArray(counter)
.Font.Bold = TrueEnd with
Next counter
End Sub

3.并排显示Excel窗口和VB编辑器窗口

4.逐步运行进程DynArray。您可以将鼠标放在代码的中间,然后按F8键一次执行该语句。程序

DynArray的结果如下图所示。

vb二维数组_php 二维对象数组_excel数组赋值 二维

vb二维数组

图7-3显示了一个包含10个数据的数组

在DynArray过程中,Dim myArray()Integer语句声明了一个称为myArray的动态数组。尽管该语句声明了一个数组,但是没有内存分配给该数组。第一条ReDim语句阐明了myArray的起始大小凤凰彩票app ,并占用了10个字节的内存来存储5个成员。如您所知,每个整数数据都需要两个字节的内存。

语句Workbooks.Add打开一个新工作簿,然后For ... Next循环用数据填充数组myArray并将该数组的成员写入工作表。在循环开始之前,变量计数器等于1。循环中的第一条语句:

myArray(counter) = counter + 1

将值2分配给myArray的第一个成员。第二句话:

php 二维对象数组_excel数组赋值 二维_vb二维数组

ActiveCell.Offset(counter-1, 0).Value = myArray(counter)

在当前单元格中输入myArray成员的值。当前单元格为A1。因为变量计数器等于1,所以上面的语句等于:

ActiveCell.Offset(1-1, 0).Value = myArray(1)

ActiveCell.Offset(0,0).Value = myArray(1)

以上语句在单元格A1中输入数据。循环中的语句执行5次。 VB在适当的工作表单元格Grima中输入数据,然后转到下一个句子:

php 二维对象数组_vb二维数组_excel数组赋值 二维

ReDim Preserve myArray(10)

通常,当您更改数组的大小时,将丢失该数组的所有原始数据。语句ReDim重新初始化数组。但是vb二维数组,可以通过在语句ReDim之后放置关键字Preserve将新成员添加到现有数组。换句话说,关键字Preserve保证了调整大小后的数组不会丢失现有数据。如果您忽略它抢庄牛牛 ,则新数组将为

为空。

第二个For ... Next循环将值分配给数组myArray的第六重庆快三 ,第七,第八,第九和第十个成员。这一次,数组成员的值相乘:counter * counter。 VB使用粗体将数组的其他值输入到适当的工作表单元格中。

提示:确定数组的大小

在使用数组之前,必须在Dim或ReDim语句中确定数组的大小。这意味着您必须先使用Dim或ReDim语句声明数组,然后才能为数组成员分配值。

返回列表
二维码
扫一扫,在线询价