Excel VBA質問箱 IV

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

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


45000 / 76732 ←次へ | 前へ→

【36739】Re:複数の長方形における干渉をチェック...
発言  ちくたく  - 06/4/11(火) 16:31 -

引用なし
パスワード
   ハト さん、みなさん。
こんにちは。

どうも、こういうクイズみたいな構造は苦手です。
こたつねこさんが回答されてるみたいですが、一応。
下記のコードでどうでしょう。速度は考慮してませんし、
合ってるのかわからないから、エラー処理もしてません。
間違っているような気もして恥ずかしいのですが。

Sub test2()

  Dim rectA(1 To 4) As Double, rectB(1 To 4) As Double
  Dim i As Integer, j As Integer
  
  For i = 17 To 66
  
    'rectA、rectBを四角形とし、それぞれの上下左右の座標値を格納
    
    rectA(1) = Range("F" & i) + Range("I" & i) / 2 '右
    rectA(2) = Range("F" & i) - Range("I" & i) / 2 '左
    rectA(3) = Range("G" & i) + Range("J" & i) / 2 '上
    rectA(4) = Range("G" & i) - Range("J" & i) / 2 '下
  

    For j = i + 1 To 66
      rectB(1) = Range("F" & j) + Range("I" & i) / 2 '右
      rectB(2) = Range("F" & j) - Range("I" & i) / 2 '左
      rectB(3) = Range("G" & j) + Range("J" & i) / 2 '上
      rectB(4) = Range("G" & j) - Range("J" & i) / 2 '下
    
      'rectAに対するrectBの位置を検査
      'きれいなコードではないけれど、If文でひとつずつ精査していくこととする。
      'Bの上がAの下よりも下にあるかBの下がAの上よりも上にあれば重ならない。
      If rectB(3) <= rectA(4) Or rectB(4) >= rectA(3) Then
      Else
        If rectB(2) >= rectA(1) Or rectB(1) <= rectA(2) Then
        Else
          MsgBox ("交差します")
          Exit Sub
        End If
      End If
      
    Next j
  Next i
  
End Sub

2 hits

【36725】複数の長方形における干渉をチェックするマクロについて しとうと 06/4/10(月) 22:55 質問
【36728】Re:複数の長方形における干渉をチェックす... ちくたく 06/4/11(火) 10:22 発言
【36729】Re:複数の長方形における干渉をチェックす... しろうと 06/4/11(火) 10:51 発言
【36731】Re:複数の長方形における干渉をチェック... わいわい 06/4/11(火) 11:33 発言
【36733】Re:複数の長方形における干渉をチェック... ちくたく 06/4/11(火) 11:57 発言
【36738】Re:複数の長方形における干渉をチェック... ハト 06/4/11(火) 16:01 発言
【36739】Re:複数の長方形における干渉をチェック... ちくたく 06/4/11(火) 16:31 発言
【36740】Re:複数の長方形における干渉をチェック... ハト 06/4/11(火) 17:05 発言
【36747】Re:複数の長方形における干渉をチェック... ハト 06/4/12(水) 8:09 発言
【36741】Re:複数の長方形における干渉をチェック... こたつねこ 06/4/11(火) 17:41 発言
【36742】Re:複数の長方形における干渉をチェック... ハト 06/4/11(火) 18:06 発言
【36744】Re:複数の長方形における干渉をチェック... こたつねこ 06/4/11(火) 18:30 発言
【36736】Re:複数の長方形における干渉をチェックす... こたつねこ 06/4/11(火) 15:13 回答
【36745】Re:複数の長方形における干渉をチェックす... ichinose 06/4/11(火) 21:42 発言
【36746】Re:複数の長方形における干渉をチェックす... 平塚在住 06/4/11(火) 22:37 回答

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