朋友,
我使用下面的代码来计算矩阵中两个变量x,y(经度和纬度)数组的结果。因为公式很复杂,所以获得所有结果需要很长时间。任何人都可以帮我优化代码,以便它运行得更快吗?谢谢!
代码在两个选项卡之间运行,VBA计算表和表2.第一个数组从单元格A3开始,第二个数组从单元格B1开始。
Sub calculator()
Worksheets("Sheet2").Select
Dim long1 As Double
Dim lat1 As Double
Application.ScreenUpdating = False
x = 3
y = 2
While IsEmpty(Cells(x, 1)) = False
lat1 = Cells(x, 1).value
While IsEmpty(Cells(1, y)) = False
long1 = Cells(1, y).value
Worksheets("VBA Calculation Sheet").Select
Cells(28, 7) = lat1
Cells(29, 7) = long1
index = Cells(23, 7).value
Worksheets("Sheet2").Select
Cells(x, y) = index
y = y + 1
Wend
x = x + 1
y = 2
Wend
End Sub
答案 0 :(得分:0)
.Select
消耗了大量资源。运行代码的更好方法是使用Arrays。确保定义与Variant
不同的数组类型以减少内存消耗。