Public
Function
get_Distance(x1, x2, y1, y2)
get_Distance = Sqr((x1 - x2) ^ 2 + (y1 - y2) ^ 2)
End
Function
Private
Sub
CommandButton1_Click()
Dim
L
As
Long
Dim
T
As
Long
Dim
d
As
Double
Dim
Laenge
As
Long
Laenge = ActiveSheet.Cells(Rows.Count, 1).
End
(xlUp).Row
arr = Range(
"A2:B"
& Laenge)
ReDim
arrTmp(1
To
UBound(arr), 1
To
UBound(arr))
ReDim
Min(1
To
UBound(arr), 1
To
2)
Range(
"K1:P1000"
).ClearContents
For
L = 1
To
UBound(arr)
For
T = 1
To
UBound(arr)
d = get_Distance(arr(L, 1), arr(T, 1), arr(L, 2), arr(T, 2))
arrTmp(L, T) = d
ActiveSheet.Cells(L + 1, T + 10) = arrTmp(L, T)
If
L = 1
Then
Min(T, 1) = arrTmp(1, T)
End
If
If
L <> T
Then
If
arrTmp(L, T) < Min(T, 1)
Then
Min(T, 1) = arrTmp(L, T)
Min(T, 2) = L
Exit
For
End
If
End
If
ActiveSheet.Cells(T + 1, 19) = Min(T, 1)
Next
T
Next
L
End
Sub