Есть фигура (Shape), нужно найти ячейку, над которой находится центр фигуры. Есть TopLeftCell, есть RightBottomCell, а вот CenterCell нет.
Т.е. мне нужно найти ячейку по координатам: я могу взять у Shape Left+Widht/2 и Top+Height/2. Как это сделать?
По расчётам логично так найти ячейку, которая находится под центром рисунка.
А как будет фактически - я не знаю.
Адрес найденной ячейки макрос выводит в окно Immediate Window.
Макрос
Sub Макрос()
Dim Рис As Shape, ЦентрРис(1 To 2)
Dim ФрагмРис As Range, Ячейка As Range
Set Рис = ActiveSheet.Shapes(1)
ЦентрРис(1) = Рис.Left + Рис.Width / 2
ЦентрРис(2) = Рис.Top + Рис.Height / 2
Set ФрагмРис = Range(Рис.TopLeftCell, Рис.BottomRightCell)
For Each Ячейка In ФрагмРис.Cells
If Ячейка.Left < ЦентрРис(1) Then
If Ячейка.Left + Ячейка.Width > ЦентрРис(1) Then
If Ячейка.Top < ЦентрРис(2) Then
If Ячейка.Top + Ячейка.Height > ЦентрРис(2) Then
Exit For
End If
End If
End If
End If
Next Ячейка
Debug.Print Ячейка.Address
End Sub
спасибо