我在Excel中有不同的按钮,我想删除除了一些按钮之外的所有按钮。
我跑
ActiveSheet.Buttons.Delete
但是如何声明保留一个(我们可以假设它被称为“MyButton1”)?
答案 0 :(得分:2)
执行For Each,通过循环浏览ActiveSheet.Shapes,您可以看到工作表上的所有不同按钮。在下面的示例中,它会将btn =
分配给它正在查看的当前按钮。如果Button的名称不是"MyButton1"
,那么它将被删除。接下来将它发送回顶部再次开始。
For Each btn In ActiveSheet.Buttons
If btn.Text <> "MyButton1" Then
btn.Delete
End If
Next
您可以执行此操作并更改&#34; MyButton1&#34;无论你想要什么。因为我假设这不是你实际按钮的名字。此外,如果由于某种原因您只是想要删除特别命名的按钮,则只需使用<>
切换=
。所以它会读到
If btn.Text = "MyButton1" Then btn.Delete
编辑 -
将btn.Name
更改为btn.AlternativeText
以搜索按钮的可见文本,而不是对象名称本身。
编辑2 -
我已删除了ActiveSheet.Shapes,因为您在工作表中有其他元素,您不想删除它们。我已使用ActiveSheet.Buttons
替换了原始代码,并将AlternativeText
替换为btn.Text
以标识按钮名称。
同样,如果您没有在带有按钮的工作表上运行此代码,则需要首先引用工作簿和工作表。