Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 02.doc
Скачиваний:
0
Добавлен:
03.01.2020
Размер:
412.16 Кб
Скачать

Пользовательские диалоговые окна

В Excel есть возможность создания пользовательских диалоговых окон с помощью Редактора Visual Basic. Наиболее простой метод воспользоваться готовыми средствами VBA для создания пользовательского диалогового окна показанного на рис. 5.16.

Рис. 5.16. Созданное пользовательское диалоговое окно Ввод данных для ввода суммы приходного кассового ордера в журнал кассовых документов

Такое диалоговое окно задается с помощью функции InputBox и служит для ввода одного значения при выполнении подпрограммы. Полное описание и синтаксис функции можно получить в справочной системе Visual Basic. Упрощенный же вариант синтаксиса функции:

InputBox(prompt[, title] [, default])

содержит следующие именованные аргументы:

  • prompt - обязательный аргумент. Это строковое выражение, отображаемое как сообщение в диалоговом окне. Максимальная длина строки prompt составляет приблизительно 1024 символов и зависит от ширины используемых символов.

  • title - необязательный аргумент. Строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения.

  • default - необязательный аргумент. Строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот аргумент опущен, поле ввода изображается пустым.

Именованные аргументы - это аргументы, имеющее имя, определенное в библиотеке объектов.

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

На рис. 5.17. показан фрагмент подпрограммы с функцией InputBox для создания диалогового окна Ввод данных (рис. 5.16.), для ввода значения суммы расходного ордера:

InputBox("Введите сумму расходного документа", "Ввод данных")

которое содержит обязательный аргумент prompt - Введите сумму расходного документа, и необязательный title - Ввод данных. Аргумент default опущен, но его удобно использовать, когда вводимое значение заранее известно. Значение (Value), введенное в поле ввода при нажатии на кнопку ОК будет введено в активную ячейку, при нажатии на кнопку Отмена - не введено.

Рис. 5.17. Фрагмент макроса ПриходныйОрдерАвто с кодом ввода в активную ячейку суммы расходного ордера

Полный текст макроса ПриходныйОрдерАвто показан на рис. 5.18.

Рис. 5.18. Код VBA макроса ПриходныйОрдерАвто

Автоматизация заполнения данных расходного ордера

Подпрограмма РасходныйОрдерАвто создается аналогично. Макрос имеет незначительные отличия при относительных переходах при вводе данных.

Рис. 5.19. Макрос РасходныйОрдерАвто

Расходный кассовый ордер

Расходный кассовый ордер находится на рабочем листе РасхОрдер (рис. 5.20.).

Рис. 5.20. Рабочий лист РасхОрдер с расходным кассовым ордером.

Расходный ордер занимает на рабочем листе диапазон ячеек А2:Н33.

В ячейку А4 (наименование предприятия) листа РасхОрдер введите ссылку на лист Журнал, в который введено наименование организации:

=КассаЖурнал!A1

Поиск искомых значений производится с помощью функции ВПР, по значению, вводимому в ячейку А14 (номер выводимого на экран расходного кассового ордера). Например, в ячейке В14 (ввод даты создания документа) формула:

=ВПР($A$14;КассаЖурнал!$E$11:$O$1005;2;ЛОЖЬ)

В остальных ячейках - D14, F14, В16, В18 и В30 аналогичные формулы поиска данных, вносимых в журнал регистрации, но изменяется только номер столбца в третьем аргументе функции.

Рабочий лист РасхОрдер дополнен модулем написания суммы прописью, вход которого находится в ячейке N19, в которую введена ссылка на ячейку F14 с суммой документа. Выход модуля - ячейка О19, на которую и производится ссылка из ячейки А19:

=O19

Для удобства просмотра документов созданы элементы управления - Счетчик и Полоса прокрутки. Создание и внедрение элемента управления Полоса прокрутки, ничем не отличается от элемента Счетчик (описано в главе 4). Эти элементы управления помещают результат в ячейку А14, или изменяют нумерацию, по которой формируется соответствующий расходный ордер.