|
こんにちは。
>今や伝説となってしまった「りんさん」が、似たようなコード書いたんですがどうやってたか覚えていません。
>りんさんの参考コードを探してみますが、残っているかどうか....。
多分、↓とちゃいますか?。ちとアレンジして、選択したセルの内容をクリアするマクロにしています。りんさ〜ん、みんな寂しがってますよ〜。たまには、遊びに来て下さいネ!。
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
|
|