我正在处理关于word-VBA的一些性能问题。每次当我从一个单元格中读出一个值时,我会得到一张excel表格,这会导致很长的执行时间。 有没有更有效的方法一次读出excel表并将其粘贴到(字符串?)arrayso中,只需要1次访问excel表? 所有其他操作都应通过访问数组中的值来完成。
Greets,poeschlorn
答案 0 :(得分:1)
根据您的描述,虽然我不确定您的问题中“触及”的含义,但我想工作簿会在打开时重新计算。您可以通过将此添加到Workbook VBA来禁止此行为:
Private Sub Workbook_Open()
Application.Calculation = xlCalculationManual
End Sub
请记住,当您的用户手动打开工作簿时,也会发生相同的情况。
HTH
答案 1 :(得分:0)
我不太确定,我明白你想要什么。但在此Microsoft Support Site上解释了将Excel范围转换为数组。应该可以从Word中做同样的事情。
简而言之:
Sub Sheet_Fill_Array()
Dim myarray As Variant
myarray = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
Range("a1:a10").Value = Application.WorksheetFunction.Transpose(myarray)
End Sub