Определение ближайшей к ячейке автофигуры - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5