excel用vba编写两段代码完成以下两个任务:(1)Создайте форму расчета графика платежей по кредиту. Заведите поля, куда будут вводится дата начала кредита, срок в месяцах, процентная ставка, сумма кредита, планируемую дату платежа (в примере ниже - это 10-е число каждого месяца, т. е. пользователь выбирает число, в которое ему удобно осуществлять платеж). Выберите нужные типы полей. При нажатии на кнопке "ok" вся введеная информация должна появится на листе, аккуратно оформленная и подписанная.
时间: 2024-02-14 14:04:29 浏览: 82
excelVBA编程
Ниже представлены две части кода VBA, которые могут решить задачу:
Первый код используется для создания формы расчета графика платежей по кредиту:
```
Sub СоздатьФормуРасчетаГрафикаПлатежейПоКредиту()
Dim ДатаНачалаКредита As Date
Dim СрокКредитаВМесяцах As Integer
Dim ПроцентнаяСтавка As Double
Dim СуммаКредита As Double
Dim ДатаПланируемогоПлатежа As Date
'Запросить информацию у пользователя
ДатаНачалаКредита = InputBox("Введите дату начала кредита (в формате ГГГГ/ММ/ДД)")
СрокКредитаВМесяцах = InputBox("Введите срок кредита в месяцах")
ПроцентнаяСтавка = InputBox("Введите процентную ставку по кредиту")
СуммаКредита = InputBox("Введите сумму кредита")
ДатаПланируемогоПлатежа = InputBox("Введите планируемую дату платежа (в формате ГГГГ/ММ/ДД)")
'Добавить заголовок таблицы
Range("A1:F1").Merge
Range("A1").Value = "График платежей по кредиту"
Range("A1").Font.Size = 20
Range("A1").Font.Bold = True
'Добавить заголовки столбцов таблицы
Range("A3").Value = "Дата платежа"
Range("B3").Value = "Месяц платежа"
Range("C3").Value = "Год платежа"
Range("D3").Value = "Сумма платежа"
Range("E3").Value = "Основной долг"
Range("F3").Value = "Проценты"
'Рассчитать график платежей и заполнить таблицу
Dim i As Integer
For i = 1 To СрокКредитаВМесяцах
Dim ДатаПлатежа As Date
Dim МесяцПлатежа As Integer
Dim ГодПлатежа As Integer
ДатаПлатежа = DateSerial(Year(ДатаПланируемогоПлатежа), Month(ДатаПланируемогоПлатежа), 10)
If i > 1 Then
ДатаПлатежа = DateAdd("m", 1, Range("A" & i + 2).Value)
End If
МесяцПлатежа = Month(ДатаПлатежа)
ГодПлатежа = Year(ДатаПлатежа)
Dim СуммаПлатежа As Double
Dim ОсновнойДолг As Double
Dim Проценты As Double
СуммаПлатежа = WorksheetFunction.Pmt(ПроцентнаяСтавка / 12, СрокКредитаВМесяцах, -СуммаКредита)
ОсновнойДолг = WorksheetFunction.PPmt(ПроцентнаяСтавка / 12, i, СрокКредитаВМесяцах, -СуммаКредита)
Проценты = WorksheetFunction.IPmt(ПроцентнаяСтавка / 12, i, СрокКредитаВМесяцах, -СуммаКредита)
Range("A" & i + 3).Value = ДатаПлатежа
Range("B" & i + 3).Value = МесяцПлатежа
Range("C" & i + 3).Value = ГодПлатежа
Range("D" & i + 3).Value = СуммаПлатежа
Range("E" & i + 3).Value = ОсновнойДолг
Range("F" & i + 3).Value = Проценты
Next i
'Оформить таблицу
Range("A3:F" & СрокКредитаВМесяцах + 3).HorizontalAlignment = xlCenter
Range("A3:F" & СрокКредитаВМесяцах + 3).Borders.LineStyle = xlContinuous
Range("A3:F" & СрокКредитаВМесяцах + 3).Font.Size = 12
Range("A3:F" & СрокКредитаВМесяцах + 3).Font.Name = "Calibri"
Range("A" & СрокКредитаВМесяцах + 5).Value = "Подпись:"
Range("A" & СрокКредитаВМесяцах + 7).Value = "Дата: " & Format(Date, "ГГГГ/ММ/ДД")
End Sub
```
Второй код используется для привязки первого кода к кнопке "ОК" на форме:
```
Private Sub CommandButton1_Click()
Call СоздатьФормуРасчетаГрафикаПлатежейПоКредиту
End Sub
```
Чтобы использовать код, создайте новый Excel-файл, нажмите на кнопку "Разработчик" в меню, выберите "Вставка формы" и добавьте кнопку "ОК". Щелкните правой кнопкой мыши на кнопке "ОК" и выберите "Просмотр кода", чтобы открыть редактор VBA. Скопируйте второй код в редактор, чтобы связать его с кнопкой. Затем скопируйте первый код в редактор, чтобы создать форму расчета графика платежей по кредиту. Сохраните файл и нажмите на кнопку "ОК" для запуска формы и отображения графика платежей.
阅读全文