Определение ближайшей к ячейке автофигуры - VBA
Формулировка задачи:
Доброе утро, уважаемые программисты.
Помогите решить вопрос.
На листе - вокруг зеленой ячейки M16 - располагается большое количество автофигур.
Как макросом определить какая из автофигур ближе к зеленой ячейке?
Макрос - должен выписать название ближайшей фигуры - в желтую ячейку M17.
Событие - нажатие на кнопку.
(Под координатами автофигуры - имеется ввиду верхний левый ее край)
Решение задачи: «Определение ближайшей к ячейке автофигуры»
textual
Листинг программы
Sub vvv()
Mn = 0
Set cl = [M16]
clleft = cl.Left: cltop = cl.Top
For Each sh In Sheets("Лист3").Shapes
shLeft = sh.Left
shtop = sh.Top
d = (Abs(clleft - shLeft) ^ 2 + Abs(cltop - shtop) ^ 2) ^ 0.5
If Mn = 0 Then
Mn = d: F = sh.Name
ElseIf Mn > d Then Mn = d: F = sh.Name
End If
Next
Cells(18, "M") = F
End Sub