Возвести число в степень, не используя операцию возведения в степень, с помощью цикла 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) 

Вместо числа можно сослаться на ячейку с числом.

→ Ссылка