我有以下VBA代码,它计算表中有多少行,然后从每隔一行(电子表格A)中提取数据。我有另一个电子表格(电子表格B),它使用匹配和间接公式从此代码的输出中获取数据。当我只使用电子表格A运行代码时,它运行得非常快。如果我在电子表格A中运行代码时打开电子表格B它运行速度慢得多,我猜测是因为它试图在代码运行时抓取数据。有没有办法让代码运行并阻止其他电子表格访问数据,直到代码完成?每次我需要运行代码时关闭电子表格B都很不方便。
Sub GetTopForces()
Application.ScreenUpdating = False
Dim i, j, count, cell As Integer
count = 0
cell = 1
i = 0
j = 0
' get count
Do While cell <> 0
cell = Cells(count + 4, 1).Value
count = count + 1
Loop
' get forces on top of column only
Do While i < count
Cells(4 + i, 16).Value = Cells(5 + j, 1).Value
Cells(4 + i, 17).Value = Cells(5 + j, 2).Value
Cells(4 + i, 18).Value = Cells(5 + j, 3).Value
Cells(4 + i, 19).Value = -1 * Cells(5 + j, 5).Value
Cells(4 + i, 20).Value = Cells(5 + j, 9).Value
Cells(4 + i, 21).Value = Cells(5 + j, 10).Value
i = i + 1
j = j + 2
Loop
Application.ScreenUpdating = True
End Sub
我对VBA的了解是基本的,所以我很感激任何建议。谢谢:))