我正在尝试删除一些附加了宏的形状,并且在为最终用户复制工作簿时仅保留组合框。我所有的组合框都以 Cbxxxxx 开头。
我有以下代码,但它删除了工作表上的所有形状。
子删除_按钮()
将按钮调暗为形状
对于 ActiveSheet.Shapes 中的每个 btn 如果 btn.name <> “Cb*” 那么 btn.Delete 结束如果
下一个按钮
结束子
Type
属性来识别所需的形状msoAutoShape (1) - AutoShape
msoFormControl (8) - Form control
msoOLEControlObject (12) - ActiveX control
微软文档:
Sub RemoveShps()
Dim oShp As Shape
For Each oShp In ActiveSheet.Shapes
With oShp
If .Type = msoAutoShape And Len(.OLEFormat.Object.OnAction) > 0 Then
.Delete
End If
End With
Next
End Sub