Excel 2013中的Worksheet_Change慢得多

时间:2017-05-29 16:51:10

标签: excel vba excel-vba excel-2013

我有这个简单的子,它位于工作表代码中:

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中):

  1. 当我从另一个子号码呼叫save_datarestore_data时,而不是Worksheet_Change,它的效果非常快。
  2. 当我在不致电Worksheet_Changesave_data的情况下致电restore_data时,它也可以快速运行(但几乎没有......)
  3. 运行Excel 2013的计算机硬件明显强于Excel 2007。
  4. save_datarestore_data非常简单,不应超过一秒钟(事实上它在Excel 2007中并不存在)。
  5. 我搜索了网络,发现其他人抱怨类似的问题,并尝试了所有的建议(主要是关闭动画和其他图形加速度),但没有任何帮助。

    知道我该怎么办?

0 个答案:

没有答案