События SelectionChange и SheetSelectionChange



При каждом перемещении активной ячейки, а также при расширении или сжатии выделения Excel вызывает событие SelectionChange для worksheet. Параллельно происходит событие для объектов Workbook и Application. Процедуры событий для данных событий можно использовать для обратной связи с текущим выделением. В приведенном ниже примере событие SelectionChange используется для отображения в левой верхней ячейке текущего листа адреса активной ячейки, а также для помещения имени рабочего листа и адреса выделения в строку состояния. Обратите внимание на то, как аргумент Sh позволяет идентифицировать и вести работу с текущим листом:

Private Sub Workbook_SheetSelectionChange (ByVal Sh As Object, _

ByVal Tarqet As Excel.Range)

Sh.Range ("A1") = ActiveCell.Address

Application . StatusBar = Sh . Name & " : " & Target-Address

End Sub

Несколько усложнив код. можно добиться того, чтобы вместо простого выделения вызывался какой-нибудь ответ: например, чтобы в случае попадания определенной ячейки пли диапазона в новое выделение отображалось пользовательское диалоговое окно:

Private Sub Worksheet_SelectionCharnge (ByVal Target As Excel. Range)

If Target.Address = "$3$2" Then

MsgBox "Вы нашли нужную ячейку !"

End If

End Sub

Ход выполнения работы:

1. Наберите в редакторе VBA примеры из теоретической части и разберитесь, как они работают.

2. Создайте процедуру, которая при двойном щелчке по ячейке А1 заполняла бы любые ячейки столбца В списком дней недели.

3. Создайте процедуру, которая при выделении любого диапазона листа 2 заполняла бы его произвольным текстом красного цвета.

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

 

 Лабораторная работа № 9

«Создание пользовательской формы»

Цель: Изучить создание форм средствами VBA.

 

Краткие теоретические сведения

Пользовательская форма представляет собой объект VBA – UserForm. Для того чтобы вставить форму в проект необходимо дать команду Insert— UserForm (Вставка-Форма). В результате экран компьютера будет выглядеть следующим образом (Рисунок 2)

Рисунок 2 - Окноформы

 

Таблица 18 - Основные свойства формы:

Свойство Описание
Name Устанавливает имя пользовательской формы. Т.е. это идентификатор формы в коде программы.
Caption Текст заголовка формы
BorderStyle Устанавливает тип границы формы 0 – границы нет 1– граница есть (используемая по умолчанию)
BorderColor BackColor Устанавливает цвет фона и текста формы
Picture Определяет рисунок, отображаемый как фон формы
Left, Top Определяют местоположение верхнего левого угла формы

 

Таблица 19 -Основные методы формы:

Метод Описание
Show Отображает форму на экране
Hide Скрывает форму
Move Перемещает форму
PrintForm Печатает форму на принтере

 

Таблица 20 - Основные события формы:

Событие Описание
Initialize Происходит во время вызова формы до ее загрузки
Resize Происходит при изменении размеров формы
Terminate Происходит при закрытии формы
Click, DblClick Происходит при одинарном и двойном щелчке мышкой по форме
MouseDown, MouseUp Происходит при нажатии и отпускании кнопки мыши.
Activate, Deactivate Происходит при активизации и деактивизации формы.

 

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

Load- загружает форму. Например: Load Form1

UnLoad- Выгружает форму. Например Unload Form1

В программном коде, написанном в модуле формы, можно заменить имя формы на специальное слово Me. Например: UnLoad Me

 

 

Ход работы:

1. Создадим форму, которая рассчитывает стоимость товара с учетом НДС. Для этого откроем окно формы и добавим из панели элементов управления (Рисунок …) три надписи, три поля ввода и две кнопки.

Рисунок 3 - Панель элементов управления

 

       Затем при помощи окна Свойства (Properties) задайте элементам управления значения следующим свойствам:

Таблица 21 –Свойства формы

Элемент управления Свойство Значение
Форма Caption Расчет стоимости
Надпись (Label1) Caption Стоимость без учета НДС
Надпись (Label2) Caption НДС
Надпись (Label3) Caption Стоимость с учетом НДС

Кнопка (CommandBatton1)

Name cmdOk
Caption Ok

Кнопка (CommandBatton2)

Name cmdCancel
Caption Cancel
Поле ввода (TextBox1) Name txtCost
Поле ввода (TextBox2) Name txtTax
Поле ввода (TextBox3) Name txtResult

           

       В результате в окне конструктора форм должно быть следующее:

 

 

Рисунок 4- Проектируемая форма

 

После этого дважды мышкой кликните по кнопке OK и введите следующий программный код:

 


Дата добавления: 2019-09-13; просмотров: 296; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!