コマンドボタン以外のすべての図形を削除する必要があります。または、楕円、直線、線を削除するだけです。Excel vbaの内部名/型を整形する
Sub deleteShapes()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
shp.Delete
Next shp
End Sub
this answerではジェイミー・ブルは、図形を削除します。
If Not (Shp.Type = msoOLEControlObject Or Shp.Type = msoFormControl) Then Shp.Delete
しかし、どのように私は私のコマンドボタンの種類を取得することができますか?または他のオブジェクトタイプ?私は試しました
Sub testShapes()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
MsgBox (shp.Type)
Next shp
End Sub
しかし、それは数字だけを与えます:どの数字がどのような形であるか分かりません。 msoOLEControlObject
のような内部の名前を取得する方法はありますか、または少なくとも番号1が本当にコマンドボタンであることを確認するには?
ループ内の名前を返すこともできます。 – SJR
ActiveXコントロールかExcelフォームコントロールですか?はい、それは重要です。 –