| 
    
     |  | ▼初心者TT さん: 
 なんとなく作ってみたのでバグがあるかも・・・
 対象のセルの範囲を選択した状態で実行してみてください。
 全体が含まれることで対象となるなら、
 If xx And xx で
 範囲に少しでもかかっているオブジェクトが対象なら
 If xx Or xx にしてみてください。
 
 Option Explicit
 
 Sub Shapes_Select()
 Dim Target As Range 'セルの選択範囲
 Dim objShe As Shape 'ループ用のShape
 
 If TypeName(Selection) <> "Range" Then
 MsgBox "セルの範囲を選択して実行してください"
 Exit Sub
 End If
 Set Target = Selection
 For Each objShe In ActiveSheet.Shapes
 With Application
 '全体が範囲内で対象ならAndで。少しでも範囲に入っているならOr
 If Not .Intersect(Target, objShe.TopLeftCell) Is Nothing And _
 Not .Intersect(Target, objShe.BottomRightCell) Is Nothing Then
 objShe.Select False
 End If
 End With
 Next
 Set Target = Nothing
 
 End Sub
 
 
 |  |