什么可能导致Shape.Cut在Excel VBA中失败?

我有我的macros中执行以下代码的方法:

Set myDocument = Worksheets("sheet1") For each sh in myDocument.Shapes If sh.Name = "square" Then sh.Cut End If Next 

我的问题是,代码导致线sh.Cut行上的错误。 我知道有一个叫做“方形”的形状 – 我可以在视觉上看到文档中的形状,但是Excel并不想把这个形状剪掉。 任何build议,为什么这可能是?


编辑:澄清,这种行为并不总是发生。 通常这是没问题的 – 它似乎只是偶尔发生,但是我看不到它发生的时间之间的任何关联。

谢谢。

使用Select方法只有两个原因。 1)你想select的东西。 2)你正在处理形状,并得到奇怪的错误。 这没有意义,但尝试

 sh.Select sh.Cut 

我敢打赌它每次都会起作用。