0

我有一张我点击按钮的工作表。此按钮创建两个论坛字符串(它们是 C# excel 插件/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 的内容而引起的。有什么办法解决这个问题吗?

4

1 回答 1

0

基本问题是 Excel 通过计算后进先出序列中的公式开始重新计算:因此让您的按钮代码计算您的第一个公式以创建缓存是明智的(您可以使用 Range.calculate 或任何其他适当的计算方法)在输入第二个公式之前。

于 2012-07-27T15:11:18.777 回答