Excel源码
使用动态数组完成VBA中的四则运算
2006-10-30 23:06:47
文件类型 :
文件版本 :
简要说明 :

[upload=rar]viewFile.asp?ID=65[/upload]使用过大型excel工作表的朋友都深有体会,过多的使用函数会严重降低数据的运算效率.这时候可能会考虑使用VBA .这个附件中的代码完成的是最普通的四则运算,他比普通的循环要快20倍.在VBA中使用数组,速度确实是快.

发现改用cells方法后还可以提高一点点速度.Private Sub CommandButton1_Click()    Dim arr1(), arr2(), arr3()    Dim i As Long, k As Long, h As Single    h = Timer        k = Cells(65536, 1).End(xlUp).Row        ReDim arr1(1 To k - 1, 1 To 1)    arr1 = Range(Cells(2, 1), Cells(k, 1))    ReDim arr2(1 To k - 1, 1 To 1)    arr2 = Range(Cells(2, 2), Cells(k, 2))    ReDim arr3(1 To k - 1, 1 To 1)            For i = 1 To k - 1            arr3(i, 1) = arr1(i, 1) + arr2(i, 1) '根据需要把加号换成别的运算符号        Next i    Range(Cells(2, 3), Cells(k, 3)) = arr3        MsgBox Timer - h & "秒"End Sub