VBA Loop.Я не понимаю цель петель - PullRequest
0 голосов
/ 03 марта 2019

Итак, у меня есть решение для этого:

Создайте функцию (используя For Next), которая вычисляет сумму, полученную от внесения единовременной суммы на банковский счет за n лет.В предоставленной рабочей книге 1 000 евро зарабатывает 276 евро через 5 лет под 5%.Проверьте свою функцию в ячейке E5.

Вот код:

Public Function calprofit(investment As Single, years As Integer, rate As Single) As Single
Dim i As Integer

Dim amount As Single

amount = investment

For i = 1 To years
amount = amount * (1 + rate)
Next i

calprofit = amount - investment

End Function

Я не очень понимаю, что здесь происходит.Особенно в той части, где написано

for i = 1 to years 

и

amount = amount * (1 + rate)

Спасибо за помощь и терпение.

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Что означает значение i и количество, так это то, что переменные меняются после каждого выполнения цикла.

В вашем случае общее количество лет равно 5, что означает, что цикл будет работать максимум 5 раз,Ваша начальная сумма равна 1000. После 1 года интереса с 5% (1-й цикл) равняется 1050. Во второй раз (теперь i равен 2 из 5), начальная сумма теперь составляет 1050, и теперь она рассчитывает 5% от 1050.и так далее, вплоть до 5 раз, что в сумме составляет € 276 процентов.

Надеюсь, это внесет некоторую ясность:)

0 голосов
/ 03 марта 2019

Цикл for выполняет код внутри цикла снова и снова в течение всего цикла, где переменная i в этом случае изменяется от 1 до количества лет и каждого числа между ними.

В этом цикле сумма умножается на 1 + тариф.Предположим, что ставка составляет 5%, чем 5% от суммы, добавляемой каждый раз в цикле.

Но я не понимаю, почему вы хотите использовать пользовательскую функцию для этого.В Excel существует множество финансовых формул для расчета такого рода вещей, и вы можете просто использовать формулу Excel для этого: calprofit = investment*(1+rate)^years - investment

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...