运行时错误:Excel宏中的“内存不足”

时间:2010-06-09 05:29:45

标签: excel-vba vba excel

我有一个宏,在发生单元格更改时调用。此宏使用以下代码选择图像,删除它们,并根据单元格值插入另一个图像。我有两张相同的代码。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ActiveSheet.Shapes.SelectAll
    Selection.Delete
    'insert image code here.
End Sub

在一张表中,它工作得非常好并删除了所有图像,而在另一张表中,它给出了运行时错误“Out of Memory”并突出显示以下行:

 ActiveSheet.Shapes.SelectAll

谁能告诉我为什么会这样?它在一个中完全正常,而在另一个中则不然。

我想告诉你的另一件事是,当我将这个Excel宏交给我的客户端时它工作得很好;两张床单都运转良好。 2天后突然间,他开始在一张他正在工作的床单上得到错误。

我不知道为什么会这样。谁能告诉我这是什么原因以及我如何解决它?

1 个答案:

答案 0 :(得分:1)

您能提供插入图片代码吗? 如果您在该代码中自己更改当前选择,则将无限地调用此过程。您应该考虑在处理此事件处理程序时根据以下代码禁用事件:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.EnableEvents = False
        ' do something
    Application.EnableEvents = True
End Sub