我有一个宏,在发生单元格更改时调用。此宏使用以下代码选择图像,删除它们,并根据单元格值插入另一个图像。我有两张相同的代码。
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天后突然间,他开始在一张他正在工作的床单上得到错误。
我不知道为什么会这样。谁能告诉我这是什么原因以及我如何解决它?
答案 0 :(得分:1)
您能提供插入图片代码吗? 如果您在该代码中自己更改当前选择,则将无限地调用此过程。您应该考虑在处理此事件处理程序时根据以下代码禁用事件:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
' do something
Application.EnableEvents = True
End Sub