我有一些代码可以在工作表上创建一个“保存”按钮(保存在wsReport
变量中),但它不会删除以前的按钮。随着时间的推移,他们往往会积累起来。有没有办法做这样的事情?
wsReport.Buttons.All.Delete
(显然不对,但是想一想我正在寻找什么。)
答案 0 :(得分:12)
见下面的代码:)
Sub RemoveButtons()
Dim i As Integer
If ActiveSheet.ProtectContents = True Then
MsgBox "The Current Workbook or the Worksheets which it contains are protected." & vbLf & " Please resolve these issues and try again."
End If
On Error Resume Next
ActiveSheet.Buttons.Delete
End Sub
或者您可以使用以下代码: (VBA中的按钮位于Shapes集合中)。
Sub DelButtons()
Dim btn As Shape
For Each btn In ActiveSheet.Shapes
If btn.AutoShapeType = msoShapeStyleMixed Then btn.Delete
Next
End Sub
答案 1 :(得分:1)
请参见下面的代码:
Sub DeleteAllShapes()
ActiveSheet.Shapes.SelectAll
Selection.Delete
End Sub
答案 2 :(得分:0)
如果有人发现了这个问题,但只需要删除一个按钮,这对我有帮助:
ActiveSheet.Shapes("my_button_name").Delete
答案 3 :(得分:-2)
有一种不使用VB的简单方法: