作者:乔山办公网日期:
返回目录:excel表格制作
定义数组
dim arr() as string ' 此处复定义一个0索引的字符串数组
redim arr(1 to 100) '对数组进行重定义长度为100(常量100也可制以是已经初始化的变量)
排序有很多方法,冒泡法、百插入法、选择法之类的度,这要看你的数组要素的类型和你排序的方式,简单点的看如下示例:
...
dim arr(1 to 5) as integer,i!,tmp as double
... ' 此处问省略了为数组arr赋值的代码
for i =1 to ubound(arr)-1
tmp=arr(i)
if tmp>arr(i+1) then arr(i)=arr(i+1) '数据将从答小到大排列
arr(i+1)=tmp
next
最简单的zd排序,须借助excel的函数:
Sub SmallSort()
Dim a(-1 To 3), i, b()
For i = LBound(a) To UBound(a)
a(i) = Int(Rnd * 10) '赋值给a()
Next
Rows("5:6").Delete
[a5].Resize(1, UBound(a) - LBound(a) + 1) = a
'下面是排专序方法,结果放在b()内
ReDim b(1 To UBound(a) - LBound(a) + 1)
For i = 1 To UBound(b)
b(i) = Application.WorksheetFunction.Small(a, i) 'Small为从小到大,large为从大属到小
Next
[a6].Resize(1, UBound(b)) = b
End Sub
debug.Print Sheets("排序").Cells(i, 2) = rain(i)
Sub 调用自函数()
aa = Array(1, 2, 3)
MsgBox ("第一个:百" & aa(0) & "第二个度:" & aa(1) & " 第三个问:" & aa(2))
aa = 排序答(aa)
MsgBox ("第一个:" & aa(0) & "第二个:" & aa(1) & " 第三个:" & aa(2))
End Sub
Function 排序(aa)
bb = aa(0)
aa(0) = aa(1)
aa(1) = aa(2)
aa(2) = bb
排序 = aa
End Function