|
▼小僧 さん:
ありがとうございました。
自分なりにまとめてみたのですが、エラーになってしまいます。
◎まず、四角で書かれたものがいくつあるか探します。
With ActiveSheet.Shapes
numShapes = .Count 'Shape数
If numShapes > 1 Then '1以上あるなら
numAutoShapes = 1
ReDim autoShpArray(1 To numShapes) 'すべてのオートシェイプを含む配列を作成
For i = 1 To numShapes
If .Item(i).Type = msoShapeRectangle Then '四角なら
autoShpArray(numAutoShapes) = .Item(i).Name
numAutoShapes = numAutoShapes + 1
End If
Next
End If
End With
◎その後その四角に対して、対象かどうか知りたいのですが
For Each MyShape In ActiveSheet.Shapes
ではなく、Forを使って定義しようと、自分なりに頑張ってみたのですが
※でエラーです.For Each を使ったことのない初心者なので
定義の仕方がおかしいようですが・・・
For i = 1 To numAutoShapes
※ MyShape = autoShpArray(i)
If MyShape.Top - (Range("H" & lngRow).Top + 4) >= -0.25 And _
MyShape.Top - (Range("H" & lngRow).Top + 4) <= 0.25 Then
MsgBox "対象の四角形は" & MyShape.Name & "かも"
End If
Next
|
|