minhquankd
Thành viên mới
- Tham gia
- 14/8/07
- Bài viết
- 6
- Được thích
- 0
Mình có toạ độ các điểm A, B, C, D, E... mình muốn tìm toạ độ x hoặc y của 1 điểm nào đó sao cho khoảng cách từ điểm đó đến điểm mình chọn là một giá trị cho trước ( ví dụ: khoảng cách là 20 , A (0,0) B (5,0) C(10,0) D (15,0) E(20,0) tìm toạ độ của điểm nào đó sao cho khoảng cách đến A là 20 , nhìn cũng có thể đoán là điểm E (20,0), nhưng mình đã viết như sau ma ko được.nếu mình chọn khoảng cách là 18 thì sẽ tìm vùng lân cận cho mình là D còn khoảng cách là 16 thì lân cận là điểm D. mong nhận được thông tin các bạn
Public Function tim1(vungtra As Range, X, Y, s1 As Double)
'ham tim kiem gia tri
Dim ktra As Boolean
Dim i As Integer
Dim x1, y1, a1 As Double
For i = 1 To vungtra.Cells.Count
kiemtra = False
x1 = vungtra.Cells(i, 1): y1 = vungtra.Cells(i, 2)
If a1 = ((x1 - X) ^ 2 + (y1 - Y) ^ 2) - s1 <= 0.5 Then
tim1 = x1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
End Function
Public Function tim1(vungtra As Range, X, Y, s1 As Double)
'ham tim kiem gia tri
Dim ktra As Boolean
Dim i As Integer
Dim x1, y1, a1 As Double
For i = 1 To vungtra.Cells.Count
kiemtra = False
x1 = vungtra.Cells(i, 1): y1 = vungtra.Cells(i, 2)
If a1 = ((x1 - X) ^ 2 + (y1 - Y) ^ 2) - s1 <= 0.5 Then
tim1 = x1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
End Function
Lần chỉnh sửa cuối: