マクロを含有したボタンを複数持つブックを複製する際、
一定のボタンだけを削除するマクロしようとしています。
指定ボタンかの判定はボタン内の文字を基準としました。
VBA
1Sub test() 2 3 Dim wbThis As Workbook, wbTo As Workbook 4 5 Set wbThis = ThisWorkbook 6 wbThis.SaveAs "原本のコピー" 7 Set wbTo = ActiveWorkbook 8 9 Call deleteShapes1(wbTo) 10 11End Sub 12 13 14Sub deleteShapes1(wb As Workbook) 15 16 Dim shape As Object 17 18 For Each shape In ActiveSheet.ShapeRange 19 20 Dim text As String 21 text = shape.TextFrame.Characters.text 22 23 If InStr(text, "ボタン1のテキスト") > 0 Then 24 25 shape.Delete 26 Exit For 27 28 End If 29 30 Next shape 31 32End Sub
deleteShapes1内、 for each shape In ActiveSheet.ShapeRangeの行で
以下のエラーが発生してしまいます。
実行時エラー'438'オブジェクトはこのプロパティまたはメソッドをサポートしていません。
**試してみたこと
複製する前のブックにて、テスト用のボタンを作成しそのボタンを対象としてファンクションを実行した際は
エラーの発生もなく削除することができました。
ブックの複製先では使えないプロパティという状況に遭遇したことがなく、
原因が分からないため解決方法を教えていただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/11 05:26
2020/09/11 05:48