我正在使用相同的宏格式化两个不同的报告。两个电子表格之间的性能截然不同。宏在第一个报告上立即起作用,而在另一个报告上大约需要 10 秒。我已将其范围缩小到使单元格 A1 加粗的语句。当省略粗体语句时,两个电子表格都会立即执行宏。我尝试了以下格式化单元格 A1 的方法。
Range("A1").Font.Bold = True
Range("A1:A1").Font.Bold = True
With Range("A1")
.Font.Bold = True
End With
ActiveSheet.Cells(1, 1).Font.Bold = True
据我所知,
.Font.Bold = True
是使单元格变为粗体的唯一方法,因此无法通过使用其他命令来规避该问题。以上是谷歌建议采取此类行动的所有方式。两个电子表格都是 .xls 扩展名。为什么在执行相同的语句时,一个电子表格的性能可能会有很大的不同?
最佳答案
可能有很多原因。我认为主要是更改需要ScreenUpdating
并且两个工作表都使用不同数量的内存来计算您的工作表布局,例如具有形状、枢轴、图表、隐藏行等。
要解决此问题,请关闭 ScreenUpdating
在你的计算之前。然后再次打开它,如下所示
Application.ScreenUpdating = False
'Your code here
Application.ScreenUpdating = True
此外,为了优化您的代码,请使用以下内容:
AutomaticCalculations
.xslb
关于VBA .font.bold 优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31141644/