vba加速写字到单元格matrix
我有一个写在表单上的matrix
Destination.Resize(UBound(Matrix, 2), UBound(Matrix, 1)).value = Application.Transpose(Matrix)
在这个单元格中,我想用NaN(不是数字)replace每个值0,
Application.ScreenUpdating = False For Each c In Destination.Cells If c.value = 0 Then c.FormulaLocal = "=NV()" End If Next
但这需要很长的时间。
任何可能使这个更快?
NV()是错字还是UDF? 我在下面的示例中使用了NA(),因为NV()在Excel 2007中不存在。假设您的代码在某处将Destination设置为完整的相关范围(上述代码中未使用Resize,请尝试:
编辑 lookat:=参数添加。
Destination.Replace what:=0, replacement:="=NA()", lookat:=xlWhole
由于您正在添加多个公式,而不是常量,因此您还应该进行Dave关于计算模式所build议的更改。 还有其他的东西,如果需要也可以“closures”,例如:DisplayEvents,EnableEvents,Intgeractive,StatusBar