| 
    
     |  | グラフの座標ではなく、元データから算出すれば良いのですよね? >2つの線分ABと線分CDが交差するか判定...
 折れ線グラフの場合は、オーソドックスに考えると、y値について
 AとCを比較した時の大小比較<>と
 BとDを比較した時の大小比較<>で
 関係が逆転したら交差するという判定で良いのではないでしょうか。
 
 交点の算出は連立方程式の話なので数学の範疇のような気もしますが、
 昔書いた事がありましたので、単純な例として挙げておきます。
 
 Sub test()
 Dim flg As Boolean
 Dim a, b, c, d
 Dim z
 
 '{x値,y値}
 a = [{1,1}]
 b = [{2,3}]
 c = [{1,2}]
 d = [{2,2}]
 
 If a(2) > c(2) Then
 If b(2) < d(2) Then
 flg = True
 End If
 ElseIf a(2) < c(2) Then
 If b(2) > d(2) Then
 flg = True
 End If
 End If
 MsgBox "交差は " & flg
 If flg Then
 z = fKOUSA(a(1), a(2), _
 b(1), b(2), _
 c(1), c(2), _
 d(1), d(2))
 MsgBox "交点は x= " & z(1) & " y= " & z(2)
 End If
 End Sub
 
 Private Function fKOUSA(ByVal Ax As Double, ByVal Ay As Double, _
 ByVal Bx As Double, ByVal By As Double, _
 ByVal Cx As Double, ByVal Cy As Double, _
 ByVal Dx As Double, ByVal Dy As Double) As Variant
 Dim x As Double
 Dim y As Double
 Dim z(1 To 2) As Double '1=x,2=y
 Dim R1 As Double
 Dim R2 As Double
 Dim S1 As Double
 Dim S2 As Double
 
 R1 = (By - Ay) / (Bx - Ax)
 R2 = (Dy - Cy) / (Dx - Cx)
 S1 = Ay - (R1 * Ax)
 S2 = Cy - (R2 * Cx)
 x = (S2 - S1) / (R1 - R2)
 y = R1 * x + S1
 z(1) = x
 z(2) = y
 fKOUSA = z
 End Function
 
 |  |