Определение площади овала - VBA
Формулировка задачи:
Добрый день, специалисты по экселю.
Подскажите решение проблемы.
Как макросом подсчитать площадь автофигуры "Овал 1" и автоматически отобразить это число - в ячейке B3 ?
Событие - Calculate.
Из математики знаю, что площадь овала - это = Пи*R1*R2
(R1 и R2 - это меньший и больший радиусы. Пи = 3,14)
Поскольку область выделения любой автофигуры экселя - это прямоугольник, то формула будет выглядеть так :
Пи*(ШиринаАвтофигуры/2)*(ДлинаАвтофигуры/2)
То есть вопрос - как это вложить это вычисление в макрос на событие Calculate, с выводом результата в ячейку B3.
Решение задачи: «Определение площади овала»
textual
Листинг программы
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objShape
Dim Hsh As Single
Dim Wsh As Single
Dim Pi As Double
Dim ШиринаАвтофигуры As Single
Dim ВысотаАвтофигуры As Single
Pi = Application.WorksheetFunction.Pi
Set objShape = ActiveWorkbook.Sheets(3).Shapes(1)
ВысотаАвтофигуры = objShape.Height * (25.4 / 720)
ШиринаАвтофигуры = objShape.Width * (25.4 / 720)
Range("B3").Value = WorksheetFunction.Round(Pi * (ШиринаАвтофигуры / 2) * (ВысотаАвтофигуры / 2), 2)
End Sub