Возвести число в степень, не используя операцию возведения в степень, с помощью цикла for next. VBA
возможно ли в языке VBA возвести число в степень, не используя операцию возведения в степень, а только с помощью цикла for next? Если да - то как?
Ответы (2 шт):
Автор решения: Вадим Александру
→ Ссылка
Как уже было сказано в комментариях, можно для целой степени. Вот пример для положительной степени. Учитывая что 2^3 = 2 * 2 * 2 можно написать такой код:
Dim base As Integer = 2
Dim number As Integer = 1
Dim power As Integer = 3
Dim i As Integer
for i = 1 to power
number *= base
Next i
Console.WriteLine(number)
Автор решения: vikttur
→ Ссылка
VBA-UDF
Function fExp_(dNum As Double, Optional exp As Long = 2) As Double
Dim x As Double: x = dNum
Dim i As Long
For i = 2 To exp: x = x * dNum: Next i
fExp_ = x
End Function
В ячейку:
=fExp_(4;5)
Или вызвать из процедуры:
Sub test()
Debug.Print fExp_(4, 5)
End Sub
В такой записи результат = 4^5. Без указания степени число возводится в квадрат
=fExp_(4)
Вместо числа можно сослаться на ячейку с числом.