我有这个简单的子,它位于工作表代码中:
Public current_plot As Integer
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("plot").Address Then
save_data (current_plot)
restore_data (Target.Value)
current_plot = Target.Value
End If
End Sub
范围"情节"是一个单细胞。
当我在Excel 2007上运行它时需要几分之一秒,而在Excel 2013中需要大约10秒钟!
以下是我所知道的(在Excel 2013中):
save_data
和restore_data
时,而不是Worksheet_Change
,它的效果非常快。Worksheet_Change
和save_data
的情况下致电restore_data
时,它也可以快速运行(但几乎没有......)save_data
和restore_data
非常简单,不应超过一秒钟(事实上它在Excel 2007中并不存在)。我搜索了网络,发现其他人抱怨类似的问题,并尝试了所有的建议(主要是关闭动画和其他图形加速度),但没有任何帮助。
知道我该怎么办?