
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスVBAのMe!と[ ]
-
文字列で小数点以下の0を削除し...
-
Bitmap.GetPixelより高速なもの
-
Excel VBAでマウスの左クリック...
-
【エクセル】複数のTextBoxに共...
-
GDIオブジェクトが増える……
-
pictureBoxの絵保存について。
-
「ご処理進めて頂きますようお...
-
エクセルVBAで、MsgBox やInput...
-
UPS警告音を止めたい
-
CloseとDisposeの違い
-
メルカリのメルカードで買い物...
-
フォームコントロールから作っ...
-
お家デートをしててハグを長い...
-
エクセルで、日付を入力すると...
-
Googleフォーム・複数人の申し...
-
オブジェクト名をVBAで指定...
-
VBAでCOPYを繰り返すと、処理が...
-
生活保護受給者は性欲をどんな...
-
uwscについて、同一の画像(仮...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスVBAのMe!と[ ]
-
VBA エンターキーでイベントに...
-
ChexBox1等の「1」を変数にで...
-
Excel VBAでマウスの左クリック...
-
【エクセルのマクロ】クリップ...
-
Accessのフォーム上にエクセル...
-
文字列で小数点以下の0を削除し...
-
【エクセル】複数のTextBoxに共...
-
日本語の文字化けを直す方法
-
エクセルVBAでセル番地を指定し...
-
ExcelのシートをAccessで表示し...
-
サブルーチンにオブジェクト名...
-
Excel2007 でのチェックボック...
-
コードでオブジェクトを最前面に
-
ユーザーフォームのインポート...
-
現在アクティブになっているオ...
-
クリスタルレポートのプレビュ...
-
Bitmap.GetPixelより高速なもの
-
vba ユーザーフォームのテキス...
-
Imageコントロールにグラフを表...
おすすめ情報