|
ちび太さん、みなさん、こんにちは。
選択した部分のセル・図形等を全てクリアするマクロです。
以前にりんさんという方に教えて頂いたものです。
Sub 全てクリア()
Dim Sh As Shape, r1 As Range, r2 As Range
On Error GoTo errout
If ActiveSheet.ProtectContents Then
Else
If TypeName(Selection) = "Range" Then
Selection.Clear
If TypeName(Selection) = "Range" Then
If ActiveSheet.Shapes.Count > 0 Then
For Each Sh In ActiveSheet.Shapes
'図形が完全に範囲に含まれる場合は削除する
'図形左上セルのチェック
Set r1 = Application.Intersect(Selection, _
Sh.TopLeftCell)
'図形右下セルのチェック
Set r2 = Application.Intersect(Selection, _
Sh.BottomRightCell)
If r1 Is Nothing Or r2 Is Nothing Then
'左上セルまたは右下セルが選択範囲の外にある場合は無視
'両方外にある場合も無視
Else
Sh.Delete
End If
Next
End If
End If
Else
Selection.Delete
End If
End If
Set r1 = Nothing: Set r2 = Nothing
Exit Sub
errout:
End Sub
|
|