优化VBA代码以更快地运行

时间:2017-10-30 20:53:32

标签: vba optimization

朋友,

我使用下面的代码来计算矩阵中两个变量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

1 个答案:

答案 0 :(得分:0)

.Select消耗了大量资源。运行代码的更好方法是使用Arrays。确保定义与Variant不同的数组类型以减少内存消耗。