Калькулятор ссуд в Excel VBA - макросы Easy Excel

Содержание

На этой странице вы узнаете, как создать простой кредитный калькулятор в Excel VBA. Рабочий лист содержит следующие элементы управления ActiveX: две полосы прокрутки и две кнопки выбора.

Примечание: приведенные ниже инструкции не научат вас форматировать рабочий лист. Мы предполагаем, что вы знаете, как изменять типы шрифтов, вставлять строки и столбцы, добавлять границы, изменять цвета фона и т. Д.

Чтобы создать кредитный калькулятор, выполните следующие действия:

1. Добавьте две полосы прокрутки. Нажмите «Вставить» на вкладке «Разработчик», а затем нажмите «Полоса прокрутки» в разделе «Элементы управления ActiveX».

2. Добавьте две кнопки выбора. Нажмите «Вставить» на вкладке «Разработчик», а затем нажмите кнопку «Параметры» в разделе «Элементы управления ActiveX».

Измените следующие свойства элементов управления полосы прокрутки (убедитесь, что выбран режим «Дизайн»).

3. Щелкните правой кнопкой мыши первую полосу прокрутки и выберите «Свойства». Установите Min на 0, Max на 20, SmallChange на 0 и LargeChange на 2.

4. Щелкните правой кнопкой мыши вторую полосу прокрутки и выберите «Свойства». Установите Min на 5, Max на 30, SmallChange на 1, LargeChange на 5 и LinkedCell на F8.

Объяснение: при нажатии на стрелку значение полосы прокрутки увеличивается или уменьшается на SmallChange. Когда вы щелкаете между ползунком и стрелкой, значение полосы прокрутки увеличивается или уменьшается на LargeChange.

Создайте событие изменения рабочего листа. Код, добавленный в событие изменения рабочего листа, будет выполняться Excel VBA при изменении ячейки на листе.

5. Откройте редактор Visual Basic.

6. Дважды щелкните Sheet1 (Sheet1) в проводнике проекта.

7. Выберите Рабочий лист в раскрывающемся списке слева и выберите Изменить в раскрывающемся списке справа.

8. Событие изменения рабочего листа отслеживает все изменения на листе Sheet1. Нам нужно, чтобы Excel VBA запускал подсчет, только если что-то изменится в ячейке D4. Для этого добавьте следующую строку кода в событие изменения рабочего листа (подробнее о подпрограмме Calculate позже).

Если Target.Address = "$ D $ 4", то Application.Run "Рассчитать"

9. Получите правильный процент в ячейке F6 (измените формат ячейки F6 на процент). Щелкните правой кнопкой мыши первую полосу прокрутки, а затем щелкните Просмотреть код. Добавьте следующие строки кода:

Частная подпрограмма ScrollBar1_Change ()
Диапазон ("F6"). Значение = ScrollBar1.Value / 100
Application.Run "Рассчитать"
Конец подписки

10. Щелкните правой кнопкой мыши вторую полосу прокрутки, а затем щелкните Просмотреть код. Добавьте следующую строку кода:

Частная подпрограмма ScrollBar2_Change ()
Application.Run "Рассчитать"
Конец подписки

11. Щелкните правой кнопкой мыши первую кнопку выбора, а затем щелкните Просмотреть код. Добавьте следующую строку кода:

Частная подписка OptionButton1_Click ()
Если OptionButton1.Value = True, то диапазон ("C12"). Value = "Ежемесячный платеж"
Application.Run "Рассчитать"
Конец подписки

12. Щелкните правой кнопкой мыши на второй кнопке выбора, а затем щелкните на Просмотреть код. Добавьте следующую строку кода:

Частная подписка OptionButton2_Click ()
Если OptionButton2.Value = True, то диапазон ("C12"). Value = "Ежегодный платеж"
Application.Run "Рассчитать"
Конец подписки

13. Время создавать саб. Вы можете просмотреть нашу главу «Функции и подпрограммы», чтобы узнать больше о подпрограммах. Если вы торопитесь, просто поместите вложенный элемент с именем Calculate в модуль (в редакторе Visual Basic нажмите «Вставить», «Модуль»).

Подсчитать ()
Безнадежная ссуда на всю длину, ставка как двойная, кпер как целочисленная
заем = Диапазон ("D4"). Значение
rate = Диапазон ("F6"). Значение
nper = Диапазон ("F8"). Значение
Если Sheet1.OptionButton1.Value = True, то
ставка = ставка / 12
кол-во = кол-во * 12
Конец, если
Диапазон ("D12"). Значение = -1 * WorksheetFunction.Pmt (ставка, кпер, ссуда)
Конец подписки

Объяснение: подпрограмма получает правильные параметры для функции рабочего листа Pmt. Функция PMT в Excel рассчитывает платежи по ссуде на основе постоянных платежей и постоянной процентной ставки. Если вы производите ежемесячные платежи (Sheet1.OptionButton1.Value = True), Excel VBA использует ставку / 12 для ставки и nper * 12 для nper (общее количество платежей). Результат - отрицательное число, потому что платежи считаются дебетовыми. Умножение результата на -1 дает положительный результат.

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave