既然你已经知道了如何有规划地产生一个清单(一维数组),是时候仔细看一下如何使用数据表了。下面的过程产生一个二维数组,储存国家名称,货币名称和交换汇率。
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)
图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
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 = True
End with Next counter
End Sub
myArray(counter) = counter + 1
分配数值2给 myArray 的第一个成员。第二条语句:ActiveCell.Offset(counter-1, 0).Value = myArray(counter)
将 myArray 成员的值输入到当前单元格里。当前单元格为A1。因为变量 counter 等于1,所以上面的语句就等于:ActiveCell.Offset(1-1, 0).Value = myArray(1)
或者ActiveCell.Offset(0,0).Value = myArray(1)
上面的语句在单元格A1里输入数据。循环里面的语句被执行5次。VB在合适的工作表单元格里马输入数据并且进行到下一语句:ReDim Preserve myArray(10)
通常,当你改变一个数组的大小时,你将失去该数组原来的所有数据。语句 ReDim 将数组重新初始化。然而,你可以将新成员加入到现存的数组里去,通过在语句 ReDim 后面带上关键字 Preserve。换句话说,关键字 Preserve 保证重新改变大小的数组不会弄丢现有的数据。如果你忽略它,新数组将会你已经从前面的章节里知道了如何使用VBA打开一个电子表格,例如指令:Application.Workbooks.Open Filename:= "C:ExcelReport.xl...
本节介绍了其它的一些ASP.NETWebPages帮助器。 ASP.NET 帮助器 - 对象参考手册Analytics 对象参考手册(Google) Helper描述Anal...
Lua 提供了 debug 库用于提供创建我们自定义调速器的功能。Lua 本身并未有内置的调速器,但很多开发者共享了他们的 Lua 调速器代...
Time 类在 Ruby 中用于表示日期和时间。它是基于操作系统提供的系统日期和时间之上。该类可能无法表示 1970 年之前或者 2038 年...
什么是 XML ? XML 指可扩展标记语言(eXtensible Markup Language)。可扩展标记语言,标准通用标记语言的子集,一种用于标记电...