У меня проблемы с поиском объема бака для курса Excel VBA; Я должен сделать функцию VBA, в которую я ввожу радиус, высоту и глубину резервуара и получаю объем. Вот картинка для лучшего понимания:
Это код, который у меня есть на данный момент, и курс говорит мне, что он неверен:
Option Explicit
Function tank(R As Double, d As Double, H As Double) As Double
Dim pi As Double
pi = Application.WorksheetFunction.pi()
If d <= R Then
tank = pi * d ^ 2 / 3 * (3 * R - d)
ElseIf R < d And d <= H - R Then
tank = 2 / 3 * pi * R ^ 3 + pi * R ^ 2 * (d - R)
ElseIf H - R < d And d <= H Then
tank = 4 / 3 * pi * R ^ 3 + pi * R ^ 2 * (H - 2 * R) - pi * (H - d) ^ 2 / 3 * (3 * R - H + d)
End If
End Function
Может ли кто-нибудь помочь мне с этой проблемой? (Я использую макрос, предоставленный моим преподавателем курса, который не говорит мне, что не так, но если это неправильно или правильно.)