Определение ближайшей к ячейке автофигуры - VBA

Узнай цену своей работы

Формулировка задачи:

Доброе утро, уважаемые программисты. Помогите решить вопрос. На листе - вокруг зеленой ячейки M16 - располагается большое количество автофигур. Как макросом определить какая из автофигур ближе к зеленой ячейке? Макрос - должен выписать название ближайшей фигуры - в желтую ячейку M17. Событие - нажатие на кнопку. (Под координатами автофигуры - имеется ввиду верхний левый ее край)

Решение задачи: «Определение ближайшей к ячейке автофигуры»

textual
Листинг программы
  1. Sub vvv()
  2. Mn = 0
  3. Set cl = [M16]
  4. clleft = cl.Left: cltop = cl.Top
  5. For Each sh In Sheets("Лист3").Shapes
  6. shLeft = sh.Left
  7. shtop = sh.Top
  8. d = (Abs(clleft - shLeft) ^ 2 + Abs(cltop - shtop) ^ 2) ^ 0.5
  9.   If Mn = 0 Then
  10.     Mn = d: F = sh.Name
  11.    ElseIf Mn > d Then Mn = d: F = sh.Name
  12.   End If
  13. Next
  14. Cells(18, "M") = F
  15. End Sub

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут