Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


23455 / 76738 ←次へ | 前へ→

【58649】Re:オートシェイプを消すマクロがわかりません
発言  かみちゃん  - 08/11/2(日) 17:05 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>この場合、他に「楕円」を使っていればそれも消えますよね?
>それを避けるためにRangeオブジェクトなどを使って「楕円」を消す範囲を
>指定することは可能でしょうか?

相変わらず時間がないのですが、他の掲示板で書いた内容を一部編集して、紹介します。

なお、指定したセル範囲の「楕円」のみを対象にするならば、kanabunさんのコードも加味されるといいと思います。
以下のコードは、指定された範囲のオブジェクトをすべて削除します。

Sub Sample3()
 Dim m As Long
 Dim i As Long
 Dim myShp As Shape
 Dim myR As Range, SR As Range

 On Error Resume Next
 Set myR = Application.InputBox("削除する範囲のセルをドラッグしてください", Type:=8)
 If Err.Number <> 0 Then Exit Sub
 On Error GoTo 0

' Set myR = ActiveSheet.Range("A1:A10")

 With ActiveSheet
  m = .DrawingObjects.Count
  For i = m To 1 Step -1
   With .DrawingObjects(i)
    Set SR = Range(.TopLeftCell, .BottomRightCell)
    If Not Intersect(SR, myR) Is Nothing Then
     If Intersect(SR, myR).Cells.Count = SR.Cells.Count Then
'      MsgBox .ShapeRange.Name & " を削除します"
      .Delete
     End If
    End If
    Set SR = Nothing
   End With
  Next i
 End With
 MsgBox "フォーム・コントーロルオブジェクトを削除しました"
End Sub


なお、以下のURLを参考にしています。
http://park11.wakwak.com/~miko/Excel_Note/17-03_zukei.htm#17-03-43

また、
 On Error Resume Next
 Set myR = Application.InputBox("削除する範囲のセルをドラッグしてください", Type:=8)
 If Err.Number <> 0 Then Exit Sub
 On Error GoTo 0
で任意のセル範囲を選択してから、処理するようにしていますが、
あらかじめ範囲を固定しておくということでいいのであれば、
 Set myR = ActiveSheet.Range("A1:A10")
だけでもいいと思います。
3 hits

【58638】オートシェイプを消すマクロがわかりません りー 08/11/2(日) 1:27 質問
【58640】Re:オートシェイプを消すマクロがわかりま... かみちゃん 08/11/2(日) 7:44 発言
【58642】Re:オートシェイプを消すマクロがわかりま... りー 08/11/2(日) 11:56 お礼
【58643】Re:オートシェイプを消すマクロがわかりま... りー 08/11/2(日) 12:01 質問
【58644】Re:オートシェイプを消すマクロがわかりま... kanabun 08/11/2(日) 14:55 発言
【58645】Re:オートシェイプを消すマクロがわかりま... かみちゃん 08/11/2(日) 15:07 発言
【58647】Re:オートシェイプを消すマクロがわかりま... りー 08/11/2(日) 16:11 お礼
【58646】Re:オートシェイプを消すマクロがわかりま... りー 08/11/2(日) 16:03 お礼
【58648】Re:オートシェイプを消すマクロがわかりま... kanabun 08/11/2(日) 16:17 発言
【58649】Re:オートシェイプを消すマクロがわかりま... かみちゃん 08/11/2(日) 17:05 発言
【58650】Re:オートシェイプを消すマクロがわかりま... りー 08/11/2(日) 18:29 お礼

23455 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free