No.1ベストアンサー
- 回答日時:
>印刷範囲外のオブジェクトを消したくてオブジェクト名を'図形'と名前を付けました。
名前は特にいりません。
複数選択する時は、コントロールキーで、残すものを選択して、他は削除してください。
仕組みは、AlternativeText に、印を入れて、削除するものとしないものを別けて、印のないものを削除します。
これは、フォーム・コントロールなどは削除しません。
'//標準モジュールに入れてください。
Sub DelShape_Excpt_selection()
Dim selShapes As Object
Dim i As Long
Dim shp As Object
Set selShapes = Selection
If TypeName(selShapes) = "Range" Then MsgBox "オートシェイプが選択されていません。", vbExclamation: Exit Sub
If MsgBox("選択されているものを残して、オートシェイプを削除します。", vbOKCancel) = vbCancel Then Exit Sub
For i = 1 To selShapes.ShapeRange.Count
If selShapes.ShapeRange(i).Type = msoAutoShape Then
selShapes.ShapeRange(i).AlternativeText = "-"
End If
Next i
For Each shp In ActiveSheet.Shapes
If shp.Type = msoAutoShape Then
If Not shp.AlternativeText Like "-" Then
shp.Delete
Else
shp.AlternativeText = Replace(shp.AlternativeText, "-", "")
End If
End If
Next shp
End Sub
'//
点線で囲まれたものが、残す方で、されていないほうが、削除されます。
フォームコントロールのボタンを置いても、ボタンは削除されません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- デザイン ワード。ぼかしのテクニックについて。 1 2022/09/28 12:15
- 画像編集・動画編集・音楽編集 WIN10で「切り取り&スケッチ」が上手く使えません。 1 2022/09/01 22:56
- Excel(エクセル) テキストの背後にあるオブジェクトとは 3 2023/01/03 20:22
- その他(Microsoft Office) エクセル VBAについて 2 2022/09/21 22:21
- Excel(エクセル) エクセルVBAで複数のシート印刷設定 1 2022/09/07 12:03
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Excel(エクセル) エクセル VBAの構文について 2 2023/02/10 18:26
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- PowerPoint(パワーポイント) パワーポイントのアニメーションについて 4 2023/06/14 16:25
- Excel(エクセル) エクセルのマクロを教えてください 2 2022/05/13 10:21
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA エンターキーでイベントに...
-
エクセルVBAでセル番地を指定し...
-
文字列で小数点以下の0を削除し...
-
Excel2007 でのチェックボック...
-
アクセスVBAのMe!と[ ]
-
コードでオブジェクトを最前面に
-
構造体の静的な初期化
-
エクセルのデータをwebフォーム...
-
VBAで選択範囲外の図形(オブジ...
-
Excelのシート上に設置された全...
-
[C#] DataGridViewの項目名
-
日本語の文字化けを直す方法
-
Accessのフォーム上にエクセル...
-
現在アクティブになっているオ...
-
Access からオブジェクトとして...
-
【エクセル】複数のTextBoxに共...
-
ディスクの総セクタサイズを取...
-
PowerpointVBAで指定のShapeオ...
-
ユーザーフォームのインポート...
-
【エクセルのマクロ】クリップ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスVBAのMe!と[ ]
-
VBA エンターキーでイベントに...
-
エクセルVBAでセル番地を指定し...
-
日本語の文字化けを直す方法
-
Excel VBAでマウスの左クリック...
-
【エクセルのマクロ】クリップ...
-
現在アクティブになっているオ...
-
Accessのフォーム上にエクセル...
-
PowerpointVBAで指定のShapeオ...
-
文字列で小数点以下の0を削除し...
-
Excel2007 でのチェックボック...
-
エクセルのデータをwebフォーム...
-
【エクセル】複数のTextBoxに共...
-
コードでオブジェクトを最前面に
-
Imageコントロールにグラフを表...
-
ExcelのシートをAccessで表示し...
-
ユーザーフォームのインポート...
-
カッコ付けのオブジェクト名を...
-
Access からオブジェクトとして...
-
構造体の静的な初期化
おすすめ情報