Главная страница
Навигация по странице:

  • Методы объекта UserForm

  • Наиболее часто используемые методы для объектов UserForm

  • События объекта UserForm

  • События объектов UserForm

  • Стандартные элементы управления, включенные в VBA

  • Cвойства стандартных элементов управления

  • Задания для самостоятельной работы

  • Вариант № 11 Подключение телефона: Вывести список тарифов с ценой. Указать дополнительные услуги. Написать приложение для подключения телефона. Вариант № 12

  • Лабораторная работа № 12 Отбор данных

  • Задания для самостоятельной работы. Вариант 1

  • Практикум по vba для Microsoft Excel Учебное пособие


    Скачать 2.32 Mb.
    НазваниеПрактикум по vba для Microsoft Excel Учебное пособие
    АнкорExcel
    Дата03.10.2022
    Размер2.32 Mb.
    Формат файлаpdf
    Имя файлаShireva_VBA.pdf
    ТипПрактикум
    #710617
    страница10 из 10
    1   2   3   4   5   6   7   8   9   10
    Наиболее часто используемые свойства объектов UserForm
    Свойство
    Описание
    ActiveControl
    Возвращает объектную ссылку на элемент управления, находящийся в фокусе в данный момент. Только для чтения
    BackColor
    Целое типа Long определяет цвет фона формы
    Caption
    Текст, выводимый в качестве заголовка формы
    Controls
    Возвращает коллекцию всех элементов управления формы
    Cycle
    Определяет, должно ли нажатие клавиши табуляции вызывать последовательный выбор всех элементов управления во всех группах и на каждой странице многостраничных элементов управления или только в пределах текущей группы или страницы. Может содержать одну из двух встроенных констант: fmCycleAllForms или fmCycleCurrentForm
    Enabled
    Содержит значение типа Boolean, указывающее, доступна ли форма. Если его значение равно False, ни один из элементов управления формы не доступен

    107
    Font
    Возвращает ссылку на объект Font, посредством которого можно выбрать параметры шрифта формы или элемента управления
    ForeColor
    То же самое, что и свойство BackColor, но устанавливает цвет, используемый для переднего плана (обычно это цвет текста) объекта формы
    Методы объекта UserForm
    Всякий раз, создавая в проекте новый объект UserForm, одновременно создается новый подкласс объекта UserForm. Любые процедуры или функции, написанные в разделе General (общий) модуля класса, относящегося к форме, становятся дополнительными методами для отдельного подкласса объекта (таблица. Наиболее часто используемые методы для объектов UserForm).
    Наиболее часто используемые методы для объектов
    UserForm
    Метод
    Назначение
    Copy
    Копирует выделенный в элементе управления текст в буфер обмена Windows
    Cut
    Вырезает выделенный в элементе управления текст и помещает его в буфер обмена Windows
    Hide
    Скрывает UserForm, не выгружая ее из памяти, сохраняя значения элементов управления формы и всех переменных, объявленных в модуле класса формы
    Paste
    Вставляет содержимое буфера обмена Windows в текущий элемент управления
    PrintForm
    Выводит на используемый в Windows по умолчанию принтер изображение формы, включая все данные, введенные в элементы управления
    Repaint
    Перерисовывает форму, выведенную на экран. Используется этот метод, если необходимо перерисовать форму, не ожидая, когда она будет перерисована через обычный период времени
    Show
    Выводит форму на экран. Если форма еще не загружена в память, то данный метод сначала ее загружает. Синтаксис метода
    Show:FormName.Show
    События объекта UserForm
    Событие - это что-то, что может произойти с диалоговым окном или элементом управления диалогового окна (таблица. События объектов
    UserForm).

    108
    Событийные процедуры следует записывать в модуль класса, который является частью User Form. При этом такие процедуры должны иметь имена в виде
    ObjectName_EventName, где ObjectName - имя формы или элемента управления, a EventName - имя события, с которым идет работа. Такой формат имени позволяет VBA сопоставлять заданному событию требуемую процедуру.
    События объектов UserForm
    Событие
    Синтаксис заголовка процедуры
    Описание
    Activate
    Private Sub object_Activate()
    Инициируется всякий раз, когда окно формы становится активным. Используйте это событие для обновления содержимого диалоговых элементов управления, чтобы отразить любые изменения, которые произошли, пока окно было неактивным
    Click
    Private Sub object_Click()
    Инициируется всякий раз, когда по форме
    (любой ее части, не занятой элементами управления) щелкают мышью
    DblClick
    Private Sub object_DblClick()
    Инициируется всякий раз, когда по форме
    (любой ее части, не занятой элементами управления) дважды щелкают мышью
    Deactivate
    Private Sub object_Deactivate()
    Инициируется всякий раз, когда форма перестает быть активной
    Initialize
    Private Sub object_Initialize()
    Инициируется всякий раз, когда форма впервые загружается в память посредством выполнения оператора Load или с помощью метода Show. Используйте это событие для инициализации элементов управления формы при ее появлении на экране
    Resize
    Private Sub object_Resize()
    Инициируется при изменении размеров формы
    Terminate
    Private Sub object_
    Terminate()
    Инициируется всякий раз, когда форма выгружается из памяти. Используйте это событие для осуществления любых специальных служебных задач, которые необходимо выполнить прежде, чем переменные формы будут выгружены

    109
    Элементы управления
    Объект UserForm может содержать те же элементы управления, что и находящиеся в диалоговых окнах Word, Excel или других приложений
    Windows (таблица. Стандартные элементы управления, включенные в VBA).
    Элементы управления - это элементы диалогового окна, позволяющие пользователю взаимодействовать с программой. Они включают в себя кнопки-переключатели, текстовые поля, линейки прокрутки, командные кнопки и так далее
    Стандартные элементы управления, включенные в VBA
    Элемент управления Назначение
    Label (надпись, метка)
    Позволяет создавать заголовки элементов управления, которые не имеют собственных встроенных заголовков
    TextBox (текстовое поле)
    Окно редактируемого текста свободной формы для ввода данных. Может быть одно- или многострочным
    ComboBox (поле со списком)
    Этот элемент управления объединяет окно редактирования и окно списка. Используйте, когда хотите предложить пользователю выбрать значение, но при этом дать ему возможность ввести данные, отсутствующие в списке
    ListBox (список)
    Отображает список значений, из которых пользователь может сделать выбор. Окна списка можно использовать, чтобы дать возможность пользователю выбрать только одно значение или же несколько
    CheckBox (флажок)
    Стандартный флажок (квадратное окно, содержащее, если элемент выбран, галочку). Используйте флажки для выбора вариантов, которые не являются взаимоисключающими
    OptionButton
    (переключатель)
    Стандартная кнопка-переключатель (круглое окно, при выборе в центре него находится черная точка).
    Используйте OptionButton, когда пользователю необходимо сделать выбор между положениями
    «включено/выключено» или «истина/ложь». Кнопки- переключатели, как правило, объединяются вместе при помощи рамки для создания группы переключателей
    ToggleButton
    (выключатель)
    Выключатели служат для той же цели, что и флажки, но выводят установки в виде кнопки, находящейся в
    «нажатом» или «отжатом» состоянии
    Frame (рамка)
    Визуально и логически объединяет некоторые элементы управления (особенно флажки, переключатели и выключатели)

    110
    CommandButton
    (кнопка)
    Используйте кнопки для выполнения таких действий, как Cancel (Отмена), Save (Сохранить), ОК и так далее
    Когда пользователь щелкает по кнопке, выполняется
    VBA-процедура, закрепленная за данным элементом управления
    TabStrip (набор вкладок)
    Этот элемент управления состоит из области, в которую вы помещаете другие элементы управления
    (такие как текстовые поля, флажки и так далее) и полосы кнопок табуляции. Используйте элемент управления TabStrip для создания диалоговых вкладок, отображающих одни и те же данные в различных категориях
    MultiPage (набор страниц)
    Этот элемент управления состоит из нескольких страниц. Вы можете выбрать любую из них, щелкнув по соответствующей вкладке. Используйте элемент управления MultiPage для создания диалоговых окон с вкладками
    ScrollBar (полоса прокрутки) и
    SpinButton (счетчик)
    Элемент управления ScrollBar позволяет выбирать линейное значение аналогично тому, как это можно сделать при помощи счетчика. Элемент управления
    SpinButton является специальной разновидностью текстового поля
    Image (рисунок)
    Элемент управления Image позволяет вывести на форме графическое изображение. Используйте Image для вывода графических изображений в любом из следующих форматов: *.bmp, *.cur, *.gif, *.ico, *.jpg или *.wmf
    Обращение к элементам управления происходит в основном через их свойства и с помощью процедур обработки событий, написанных для каждого элемента (таблица. Cвойства стандартных элементов управления).
    Cвойства стандартных элементов управления
    Свойство Где применяется
    Описание
    Accelerator
    CheckBox, Tab,
    CommandButton, Label,
    Page, OptionButton,
    ToggleButton
    Содержит символ, используемый в качестве быстрой клавиши вызова, элемента управления, при нажатии Аlt +
    <клавиша быстрого вызова> происходит выбор элемента управления
    BackColor Все элементы
    Число, представляющее определенный цвет фона элемента управления
    Caption
    CheckBox,
    CommandButton,
    Для надписи - текст, отображаемый элементом управления. Для других

    111
    Frame, Label,
    OptionButton,
    ToggleButton, Page,
    Tab, UserForm элементов управления - надпись, которая появляется на кнопке или вкладке или рядом с рамкой, флажком или переключателем
    Cancel
    CommandButton
    Задает кнопку отмены диалогового окна.
    При нажатии на эту кнопку или клавишу
    Esc диалоговое окно исчезает. Только одна кнопка формы может иметь данное свойство
    ControlTip-
    Text
    Все элементы управления
    Устанавливает текст, который отображается в виде всплывающей подсказки (ControlTip, называемой также
    ToolTip), когда указатель мыши помещается на элемент управления
    Default
    CommandButton
    Определяет заданную по умолчанию кнопку. Когда пользователь нажимает в процессе диалога клавишу Enter, эта кнопка ведет себя так, как если бы по ней щелкнули мышью
    Enabled
    Все элементы управления
    Хранит значение типа Boolean, определяющее, доступен или нет элемент управления. Если Enabled имеет значение False, то элемент управления продолжает отображаться в диалоговом окне, но не может быть выбран
    ForeColor
    Все элементы управления
    То же самое, что и BackColor, но устанавливает цвет для переднего плана элемента управления, как правило, символов текста
    List
    ComboBox
    Массив типа variant (одно- или многомерный), представляет список, содержащийся в элементе управления
    Max
    ScrollBar, SpinButton
    Переменная типа Long, определяющая максимальное значение счетчика, или значение, при котором полоса прокрутки находится в самом верху (для вертикальной полосы) или справа (для горизонтальной)
    Min
    ScrollBar, SpinButton
    Переменная типа Long, определяющая минимальное значение счетчика, или значение, при котором полоса прокрутки находится в самом низу (для

    112 вертикальной полосы) или слева (для горизонтальной)
    Name
    Все элементы управления
    Содержит имя элемента управления. Вы можете установить данное свойство только с помощью Properties Window
    RowSource ComboBox
    Задает источник, из которого ListBox берет список объекта. В Excel VBA
    RowSource обычно использует диапазон рабочего листа
    Selected
    ListBox
    Возвращает массив значений типа
    Boolean для списка, который допускает множественный выбор. Каждый элемент массива содержит по одному элементу, соответствующему каждому пункту списка. Если значение элемента в массиве selected равно True, то соответствующий пункт списка выбран
    TabIndex
    Все элементы управления
    Число, указывающее положение элемента управления в порядке табуляции (может иметь значение от 0 до значения, равного количеству элементов управления на форме)
    TabStop
    Все элементы управления
    Значение типа Boolean, указывающее, может ли элемент управления быть выбран клавишей Tab. Если значение
    TabStop равно False, вы тем не менее можете щелкнуть на элементе и таким образом его выбрать
    Value
    Все элементы управления
    Значение текущих установок элемента управления: текст в текстовом поле, какие выбраны флажки и переключатели, индекс выбранного раздела списка или число, указывающее текущее положение полосы прокрутки или счетчика
    Visible
    Все элементы управления
    Значение типа Boolean, указывающее, является ли элемент управления видимым
    Задание 1
    Создать приложение Меню для выбора блюд из списка и вывода результата выбора на лист Excel. Можно одновременно выбрать несколько

    113 блюд. Предусмотрено наличие скидки 5%. Данные о блюдах (название блюда и его цена) находятся на листе Excel с именем «списки».
    Пользовательская форма имеет вид:
    Свойства элемента ListBox1:
    На Лист1 записываются результаты выбора. Но при каждом сеансе данные должны заноситься в конец списка. Поэтому каждый раз необходимо

    114 определять последнюю заполненную строчку на листе. Это делается при активации формы.
    Номер первой пустой строки записывается в переменную k. Так как переменная k будет использоваться в других обработчиках событий, эта переменная описывается в первой строчке модуля формы.
    При щелчке по кнопке Рассчитать будут выполняться следующие действия:
    После вывода очередного сеанса надо отделить результаты от новых данных.

    115
    Для вывода формы надо создать макрос
    Результаты будут иметь вид:
    Первый сеанс

    116
    Второй сеанс
    В приведенном задании список listbox заполняется с помощью свойства
    RowSource и разрешается выбрать одновременно несколько строк с помощью клавиши Ctrl.
    В следующем задании можно выбрать из списка только один элемент.
    Список заполняется во время работы программы
    Задание 2
    Создать приложение рассчитывающее стоимость железнодорожного билета в зависимости от направления вида вагона и сезона. Летом стоимость увеличивается на 20%, зимой - уменьшается на 10%.
    Данные о стоимости билетов по-прежнему располагаются на листе Excel.

    117
    Пользовательская форма имеет вид:
    У элемента ListBox1 свойство
    Список заполняется при инициализации формы. Количество элементов в списке определяются во время работы программы, а не во время создания формы, как это было в предыдущем задании.

    118
    При щелчке по кнопке Оплата выполняются операторы:
    Для вызова формы создаем макрос Билеты:

    119
    Результат работы программы:
    Задания для самостоятельной работы
    В приведенных задания используются списки. Необходимо определить какой режим для работы со списками надо задать: выпор нескольких вариантов или один вариант.
    Данные для списков считываются из листа Excel. Результаты надо заносить в таблицу Excel/
    Вариант № 1
    Книжный интернет-магазин:
    Вывести название книг с ценой. Указать варианты доставки: курьерская
    (постоянная цена 800 руб), наложенным платежом (зависит от кол-ва книг и от общей стоимости) и оплата через банк (зависит от стоимости книг).

    120
    Написать приложение для выбора книг и подсчета общей стоимости.
    Вариант № 2
    Ателье мод:
    Вывести перечень изделий с ценой. Указать дополнительные услуги: сложность (процент от стоимости изделия), срочность (процент от стоимости и сложность), доставка на дом (конкретная сумма).
    Написать приложение для заказа изделий и подсчета общей стоимости.
    Вариант № 3
    Хозяйственный магазин:
    Вывести перечень товаров с указанием цены. Указать вид оплаты: наличные, карточка Visa (скидка 5%), карточка MasterCard (скидка 3%).
    Написать приложение для покупки товара и подсчета общей стоимости.
    Вариант № 4
    Магазин с оплатой за валюту:
    Вывести перечень товаров с указанием цены в рублях. Указать в какой валюте будет оплата с указанием курса.
    Написать приложение для покупки товара и подсчета общей стоимости.
    Вариант № 5
    Покупка туристической путевки в Москву:
    Вывести названия гостиниц для проживания с ценой. Указать дополнительную доплату: дорога, питание, все включено (процент от стоимости гостиницы), экскурсии.
    Написать приложение для покупки путевки и подсчета общей стоимости.
    Вариант № 6
    Гостиница:
    Вывести категории номеров с ценой за день. Указать дополнительные услуги: все включено (зависит от категории номера), 2-х разовое питание (за
    1 день), 3-х разовое питание (за один день), пользование бассейном (разовый взнос).
    Написать приложение для покупки путевки и подсчета общей стоимости при проживании недель.
    Вариант № 7
    Компьютерный магазин:
    Вывести список компьютеров с мониторами и указать их цену.
    Перечислить лицензионной программное обеспечение, которое нужно установить на компьютере.
    Написать приложение для покупки компьютера и подсчета общей стоимости

    121
    Вариант № 8
    Магазин стиральных машин:
    Вывести список стиральных машин с указанием цены. Указать дополнительные услуги: увеличение гарантийного срока, дополнительные аксессуары, бесплатное подключение.
    Написать приложение для покупки стиральной машины и подсчета общей стоимости
    Вариант № 9
    Магазин корпусной мебели:
    Вывести список изделий из мебели (комод, шифоньер, тумбочка,…) с ценой изготовления. Указать вид материала.
    Написать приложение для покупки набора мебели и подсчета общей стоимости. Общая стоимость вычисляется как проценты от цены изготовления.
    Вариант № 10
    Покупка кухни:
    Вывести список изделий для кухни (плита, посудомоечная машина, разделочный стол, стол, пенал, навесной шкаф) с ценой. Вывести варианты материала для столов и шкафов.
    Написать приложение для покупки набора для кухни и подсчета общей стоимости. Стоимость столов и шкафов зависит от выбранного материала.
    Вариант № 11
    Подключение телефона:
    Вывести список тарифов с ценой. Указать дополнительные услуги.
    Написать приложение для подключения телефона.
    Вариант № 12
    Тренажерный зал:
    Вывести список тренажеров, которые имеются в тренажерном зале с ценой. Указать время посещения зала (утром, днем, вечером, выходные дни).
    Написать приложение для посещения зала с подсчетом общей стоимость.
    Общая стоимость зависит от времени, для утра и дня - скидки. Самое дорогое время – выходные, самое дешевое – утро.

    122
    Лабораторная работа № 12
    Отбор данных
    При работе с большими таблицами часть требуется отбирать данные, удовлетворяющие определенным условиям. Это обычно делается с помощью инструмента «Фильтр».
    Но с помощью макросов так же можно отбирать данные, удовлетворяющие часто встречающимся условиям и делать это можно с помощью формы.
    Задание 1
    Создать макрос в котором для файла Сотрудники с помощью формы можно выполнять отбор данных, переписав отобранные данные на новый лист.
    Вид формы:
    Код обработчика события Щелчок по кнопке будет иметь вид:
    Создание новых листов для отбора данных.
    В переменной n вычисляется количество рядов в таблице. Переменная k нужна для нумерации рядов на новом листе. Переменные i и j номера строк и столбцов соответственно.
    При выборе пункта Мужчины рассматриваются отчества в 4 столбце.
    Если отчество заканчивается на «ч», то это мужчина, если на «а», то это женщина.

    123
    При отборе именинников месяца определяется месяц рождения и текущий месяц.
    Отбор сотрудников с окладов выше среднего.

    124
    Задания для самостоятельной работы.
    Вариант 1
    В файле Горные лыжи.xls выполнить отбор:

    Товары категории Одежда проданные в феврале

    Товары фирмы Atomic.

    Товары стоимостью больше 20000.

    Проданное снаряжение со скидкой 5%.
    Вариант 2
    В файле Кадры.xls выполнить отбор:

    Клиенты женщины из сферы промышленность

    Клиенты моложе 30 лет

    Клиенты мужчины без высшего образования

    Клиенты безработные.
    Вариант 3
    В файле Склад.xls выполнить отбор:

    Товара огурцы

    Товара со стоимостью ниже средней.

    Товар заказчика Атлант количество меньше 5000

    Товары поступившие в июле со скидкой 10%.

    125
    Вариант 4
    В файле Курсы.xls выполнить отбор:

    Учащиеся из Магнитогорска

    Учащиеся с высшим образованием

    Учащиеся старше 40 лет

    Учащиеся инженеры моложе 35
    Вариант 5
    В файле Сетевые продажи.xls выполнить отбор:

    Продажи, выполненные летом

    Продажи, дороже 1000 выполненные продавцом, у которого спонсора женщина

    Продажи весной, товар дороже средней цены

    Продажи товара содержащего слово крем.
    Вариант 6
    В файле Сетевые продажи.xls выполнить отбор:

    Продажи товаров Форевер.

    Продажи за последние 2 месяца товаров с итоговой ценой дороже 1000

    Продажи товаров с количеством больше среднего.

    Продажи Елагина.
    Вариант 7
    В файле Клининговая компания.xls выполнить отбор:

    Уборки у клиента Топоногова

    Уборки, выполненные первой бригадой в марте.

    Уборки с площадью выше средней.

    Весенние уборки в процентом скидок больше 10.
    Вариант 8
    В файле Языковый центр.xls выполнить отбор:

    Учащиеся, изучающие немецкий язык в продвинутой группе

    Учащиеся в малочисленных группах номером группы

    Учащиеся мужчины

    Учащиеся изучающие французский язык без с кидок
    Вариант 9
    В файле Автосалон.xls выполнить отбор:

    Автомобили доставленные менее чем за 15 дней

    126

    Японские автомобили стоимостью более 700000

    Автомобили из Токио со сроком выполнения заказа более 6 дней.

    Автомобили со стоимостью меньше средней.
    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта