|
▼初心者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
|
|