数组是包含相同数据类型的一组变量的集合,对数组中的单个变量引用通过数组索引下标进行。在内存中表现为一个连续的内存块,必须用Global或Dim语句来定义。定义规则如下:
Dim 数组名([lower to ]upper [, [lower to ]upper, ….]) as type ;Lower缺省值为0。二维数组是按行列排列,如XYZ(行,列)。
除了以上固定数组外,VBA还有一种功能强大的动态数组,定义时无大小维数声明;在程序中再利用Redim语句来重新改变数组大小,原来数组内容可以通过加preserve关键字来保留。如下例:
Dim array1() as double : Redim array1(5) : array1(3)=250 : Redim preserve array1(5,10)
Sub 按钮8_Click()
Dim arr() As Variant
ReDim Preserve arr(0) As Variant
arr(0) = "0"
Debug.Print arr(0)
ReDim Preserve arr(2) As Variant
arr(1) = 1
arr(2) = "2"
Debug.Print Trim(arr(1))
Debug.Print arr(2)
End Sub
分享到:
相关推荐
REDIM [Preserve] 数组名(下标1[下标2….]) Preserve 保留动态数组的内容(不用的话,每次执行REDIM语句,当前存储的语句会全部丢失) 例如: 代码如下: Dim DynArray() ‘定义数组DynArray()为动态数组 REDIM ...
Redim的应用,VB6.0源代码,重定义数组. ReDim a(10) a(1) = "123" ReDim Preserve a(20) Text1.Text = a(1)
自学VB所写的一个随机抽取应用,从外部txt文件读取名单(一行一个),使用了ReDim Preserve扩展数组定义范围。姓名滚动显示,单次仅抽取一个。可以选择屏蔽重复或不屏蔽(运用临时数组储存未抽取数据,以及ReDim清空...
ReDim Preserve dat(BmpSize + 1) dat(BmpSize) = 13 dat(BmpSize + 1) = 10 StartT = Timer On Error GoTo 400 'MsgBox UBound(dat) Ws2.SendData dat Exit Sub 400: re.Caption = Err....
ReDim Preserve p(b) '定义两个一维数组用以保存生成的随机树 ReDim Preserve q(b) p(b) = Val(Text1) q(b) = Val(Text2) Shpblue.Height = Text1 * 7 '改变蓝色控件的高度模拟反应釜内液面变化 Shpblue.Top...
ReDim Preserve c(i) Dim m As Byte '定义 数组a的循环变量 Dim n As Byte '定义 数组b的循环变量 a(0) = "01": a(1) = 10: a(2) = 11: a(3) = 35: a(4) = 47: a(5) = 56: a(6) = 67: a(7) = 76: a(8) = 83: a(9) ...
ReDim Preserve AllhWnd(AllhWnd_i) '动态变量 AllhWnd(AllhWnd_i) = app_hwnd '保存句柄 EnumWindowsProc = True '循环,继续列举hwnd End Function '注:每枚举一个窗口需调用一次回调函数 Public Function ...
ReDim Preserve No(1 To J) '重新定义数组并使其值为当前的点号 No(J) = iResult End If End If Next I '设置最小为无穷大,最短路径点为空 MinS = 1E+38 MinPoint = 0 '找出已经查过点中长度最短的点 ...
ReDim Preserve ControlRecord(MaxControl + 1) On Error Resume Next ControlRecord(MaxControl).Name = inControl.Name ControlRecord(MaxControl).Index = inControl.Index ControlRecord(MaxControl)....
VB 中的A星寻路算法 用了折半快速插入有序队列可以很快的添加结点数据 数组是以距离从大到小的一个有序队列 每次取数组中最后的数据,可以快速删除 例如:redim preserve A(ubound(A)-1)
通过此例熟悉VB的函数调用 Function fac%(f%(), n) Dim i% For i = 1 To n - 1 If n Mod i = 0 Then k = k + 1 ReDim Preserve f(k) f(k) = i End If Next End Function
ReDim Preserve txt(Lines + 1) '开辟空间以存放一行内容 Lines = Lines + 1 Line Input #1, txt(Lines) '读入一行并放入数组 Wend w = Lines Close #1 '关闭文件 Label1(1) = txt(1) Label1(1).Top = ...
程序代码: 代码如下: ‘关键字的搜索 str=”select * from ...>”” then redim preserve keystrArr(t) strfilter=”(empZw like ‘%”&keyArr(i)&”%’ or empDep like ‘%”&keyArr(i)&”%’ or empGz like ‘%” st
程序代码: 以下为引用的内容: 代码如下:‘关键字的搜索 str=”select ...>”” then redim preserve keystrArr(t) strfilter=”(empZw like ‘%”&keyArr(i)&”%’ or empDep like ‘%”&keyArr(i)&”%’ or empGz li
定义简单数组 有两种方法在asp中定义和初始化数组,让我们看看每种的例子: 方法一: MyArray = Array(“Jan”,”Feb”,”Mar”,”Apr”,”May”,”Jun”,”Jul”,”Aug”,”Sep”,”Oct...ReDim Preserve MyArray(i)
Redim Preserve myArray(i) myArray(i) = WeekdayName(i) Next %> 返回结果: 建立了一个包含7个元素的数组myArray myArray(“Sunday”,”Monday”, … … “Saturday”) CInt() 函数将一个表达式转化为数字...
数组的定义 Dim MyArray MyArray = Array(1,5,123,12,98) 可扩展数组 Dim MyArray() for i = 0 to 10 ReDim Preserve MyArray(i) MyArray(i)=i next 将一个字符串分割并返回分割结果的数组 Dim MyArray ...
Dim myArray() For i = 1 to 7 Redim Preserve myArray(i) myArray(i) = WeekdayName(i) Next %> RESULT: 建立了一个包含7个元素的数组myArray myArray(“Sunday”,”Monday”, … … ...
) Dim objRegExp,Matches,i,DC9_DOT_CN_MATCH Dim aryMatch() Redim Preserve aryMatch(0) Set objRegExp=New RegExp objRegExp.IgnoreCase =True objRegExp.Global=True objRegExp.Pattern=”(?:\[[^\]]+\]...