我有一张单击按钮的工作表。此按钮创建两个forumla字符串(即C#excel addin / UDF),然后将它们粘贴到两个单元格中。第一个创建一些数据并将其存储在缓存中,第二个函数使用插入Excel缓存的数据。问题是第二个函数在插入数据之前执行得太早了。
因此,我写了一个函数来扮演一个监听器,并在编辑第一个单元格的值时:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Sheets("1").Range("A1") Then 'The error is here
Sheets("1").Cells(5, 1).Calculate
End If
End Sub
当我点击创建公式/函数字符串的按钮时,我得到:
运行时错误'7':内存不足
我不明白为什么会这样?错误的一行是:
If Target = Sheets("1").Range("A1") Then
编辑当我点击按钮清除整张表X的内容时,这是由于这个事实造成的。有没有解决方法?
答案 0 :(得分:0)
基本问题是Excel通过计算后进先出序列中的公式来开始重新计算:因此,让按钮代码计算创建缓存的第一个公式是明智的(您可以使用Range。在输入第二个公式之前计算或任何其他适当的计算方法。