Пользовательская форма (UserForm) для ввода данных по кредитам коммерческого банка. VBA Excel

Прикладное программирование - это написание исходного кода программ, которые предназначены для реализации конкретных задач и предполагают взаимообмен с пользователем.

  1. Организуйте ввод сведений в таблицу Excel
  2. Данные о выдаче кредитов банком (необходимые)
  3. Очистка текстовых полей формы
  4. Инициализация списка значений ComboBox
  5. Исходный код UserForm VBA Excel

Пакет Microsoft Office дает возможность автоматизации взаимодействия оператора с ЭВМ.


Организуйте ввод сведений в таблицу Excel

Задание: Организуйте ввод сведений в таблицу, содержащую данные о выдаче долгосрочных кредитов коммерческим банком со следующими данными: код получателя кредита, наименование получателя кредита, дата выдачи кредита, срок (3-4 срока), на который выдан кредит (в днях), процент, сумма кредита, дата оплаты процентов по кредиту.

Организуйте ввод сведений в таблицу Excel
Рис.1        Организуйте ввод сведений в таблицу Excel через UserForm VBA

Это, как вариант... Ведь совершенствовать можно сколько угодно.



Данные о выдаче кредитов банком (необходимые)


Код получателя кредита - длинное целое число. Тип Long. Для новых получателей генерируется автоматически. В таблице на листе - в колонке "A".

Наименование получателя кредита - строковая величина. Тип String. На форме хранится в ComboBox1. Можно вводить новые значения. В таблице на листе - в колонке "B".

Дата выдачи кредита - календарная дата. Тип Date. На форме выбирается из Calendar1. Помещается в TextBox1. В таблице на листе - в колонке "C".

Срок, на который выдан кредит (в днях) - целое число. Тип Integer. На форме выбирается из ComboBox2. В таблице на листе - в колонке "D".

Процент по кредиту - дробное число. Тип Single. На форме выбирается из ComboBox3. В таблице на листе - в колонке "E".

Сумма кредита - длинное целое число. Тип Long. На форме вносится в ТечеBox2. В таблице на листе - в колонке "F".

Дата оплаты процентов по кредиту - календарная дата. Тип Date. Вычисляется автоматически. В таблице на листе - в колонке "G".



Очистка текстовых полей формы

У объектов класса TextBox свойством по умолчанию является свойство Text. Таким образом, в короткой записи этому свойству присваивается значение "пустая строка".

А объектам класса ComboBox следует свойство ListIndex установить в -1.

по коду:

//------------------------------
Private Sub CommandButton2_Click() 'очистка
    TextBox1 = ""
    TextBox2 = ""
    ComboBox1.ListIndex = -1
    ComboBox2.ListIndex = -1
    ComboBox3.ListIndex = -1
End Sub
//------------------------------




Инициализация списка значений ComboBox

Список значений ComboBox1 приходится заполнять, перебирая в цикле значения второй колонки таблицы.
Конечно, следует исключить повторы, и желательно, выполнить сортировку, чтобы если список будет длинным, то пользователь мог бы быстрее найти нужное значение.

А списки значений ComboBox2 и ComboBox3 легко заполнить фиксированными списками из колонок "AE", "AF".

по коду:

//------------------------------

Private Sub Combo1Full(val As String) 'добавление в списк клиентов без повторов и с сортировкой
Dim i As Integer
For i = 0 To ComboBox1.ListCount - 1 'перебор списка
If ComboBox1.List(i) = val Then Exit Sub 'если уже есть -> выход
If ComboBox1.List(i) > val Then
     ComboBox1.AddItem val, i 'если элемент больше -> то вставить перед ним и выход
     Exit Sub
End If
Next i
ComboBox1.AddItem val, ComboBox1.ListCount 'если val больше всех элементов -> то вставить в конец списка
End Sub
//------------------------------

Private Sub Combo1Fulling() 'заполнение списка из таблицы
    Dim i As Integer
    For i = 2 To LastRow
         Combo1Full Cells(i, 2)
    Next i
End Sub
//------------------------------

Private Sub UserForm_Initialize()
    Calendar1.Visible = False
    Calendar1.Top = Frame2.Top
    LastRow = GetLastRowFromColumn(LastColumn)
    Combo1Fulling
    ComboBox2.RowSource = "=AE2:AE" & 5
    ComboBox3.RowSource = "=AF2:AF" & 5
    Randomize
End Sub
//------------------------------




Исходный код UserForm VBA Excel

Почти весь исходный код расположен в модуле формы UserForm1.

А в модуле Лист1 расположены только короткие процедуры "Вызова формы", "Очистки таблицы" и "Запрета выделения ячеек в таблице".

скачать xlsm-файл для тестирования



Другие примеры на языке «Visual Basic for application - VBA»

Другие примеры на тему «Автоматизация документов Microsoft Office Excel, Word, Access»





Если у Вас остались вопросы, то задать их Вы можете, нажав на эту кнопочку ...




Если на этой странице не нашлось того, что Вы так искали...

         Не расстраивайтесь, не все потеряно... Смело щелкайте...
исходный код на заказ. orenstudent.ru Автоматизация документов MS Office. orenstudent.ru исходный код на заказ. orenstudent.ru Помогите найти и устранить ошибку в исходном коде программы. orenstudent.ru Skype-консультирование по программированию
Скайп-консультации

Акция !!!
исходный код комментарии цена минимальная


Не попадайтесь на удочку мошенников-кидал...
Сайт помощи студентам по программированию и информатике

Program code