|
suxiong 发表于 2014-1-6 12:03
谢谢,我看错了。
但这个影响不是很大,我想最少要提速10倍才行。数据太多了。 - Sub TEST1()
- Dim t
- t = Timer
- Application.ScreenUpdating = False
- '计算值
- 'Sheets("Sheet2").Range("a2:c100000").Clear
- On Error Resume Next
- Dim arr1, arr2, brr()
- Dim x%, x1 As Integer, i%
- With Sheets("sheet1")
- arr1 = .Range("a2:c" & .Range("c100000").End(3).Row) 'A点Lon
- arr2 = .Range("d2:f" & .Range("f100000").End(3).Row) 'b点Lon
- End With
- ReDim brr(1 To UBound(arr1) * UBound(arr2), 1 To 3)
- For x = 1 To UBound(arr1, 1) '行
- For x1 = 1 To UBound(arr2, 1) '行
- i = i + 1
- brr(i, 3) = NED(arr1(x, 3), arr2(x1, 3), arr1(x, 2), arr2(x1, 2))
- brr(i, 2) = arr2(x1, 1) '填SHEET2的B列
- brr(i, 1) = arr1(x, 1) '填SHEET2的a列
- Next x1
- Next x
- With Sheets("sheet2")
- .Range("a2", .Cells(Rows.Count, 3).End(3)).ClearContents
- .Range("a2").Resize(i, 3) = brr
- End With
- Application.ScreenUpdating = True
- MsgBox (Timer - t)
- End Sub
复制代码 |
|