
- •Лабораторная работа №1
- •Часть 1
- •Vba. Элементы управления Цель – ознакомиться с интерфейсом vba, некоторыми его объектами, их свойствами и методами.
- •Редактор vba
- •Окно проекта
- •Окно свойств
- •Инструменты панели элементов
- •Стандартные элементы управления панели элементов:
- •Часть 2
- •2. Ссылки в программах vba на ячейки рабочих листов Excel.
- •Задание 1.
- •Задание 2.
- •Задание 3.
- •Задание 4.
Часть 2
2. Ссылки в программах vba на ячейки рабочих листов Excel.
Следующие средства VBA используются для ссылок на ячейки рабочих листов Excel:
Свойство Cells позволяет выбрать одну или все ячейки рабочего листа.
Свойство Range возвращает одну ячейку, прямоугольную область или группу несмежных ячеек.
Свойство ActiveCell возвращает активную ячейку активного окна.
Свойство Selection возвращает выделенный объект активного окна.
Свойство Columns и Rows возвращают столбец или строку рабочего листа или диапазона ячеек.
Некоторым неудобством использования cвойства Range является то, что оно требует указания имени ячейки, на которую требуется сослаться. То есть в случае, когда имя точно не известно и требуется использование переменной вместо имени ячейки этот метод не очень подходит. В этом случае предпочтительнее свойство Cells. Существует две особенности использования этого свойства.
Во-первых, вместо символа для указания строки или столбца может использоваться число или численное выражение, а, следовательно, и переменная.
Во-вторых, в списке параметров этого свойства на первом месте стоит строка, а на второй столбец.
В соответствии с этим ссылка, например, на ячейку В7 будет выглядеть, как Cells(7,2), хотя доступна и ссылка вида Cells(7,"B").
Задание 1.
Откройте окно редактора VBA.
В проект вставьте Модуль (команда InsertModule)
В модуле разместите процедуру для воспроизведения таблицы умножения.
Для создания процедуры выполните команду InsertProcedure, в диалоговом окне введите имя и далее после закрытия диалогового окна введите текст процедуры.
В этой программе rws и cols - числовые переменные, которые в процесс выполнения макроса принимают значения от 1 до 10.
Cells(rws,cols) - объект типа ячейка, который определяет ячейку активного рабочего, находящуюся на пересечении строки с номером rws и столбца с номером cols.
Value - свойство объекта Cells, определяющее значение, хранимое в конкретной ячейке. В процессе работы процедуры свойству Value каждой Ячейки присваивается результат вычисления арифметического выражения rws*cols.
Задание 2.
Копируйте текст ранее созданной процедуры.
Вставьте скопированный текст в модуле ниже созданной ранее процедуры. Измените имя вновь создаваемой процедуры (MultiplyTable_1)
Дополните процедуру до вида, приведенного ниже, (дополнительные строки выделены синим шрифтом) и запустите ее на выполнение:
Sub MultiplyTable_1() 'очистка содержимого диапазона клеток "A1:J10" Range(Cells(1, 1), Cells(10, 10)).Clear
'формирование нижней границы первой строки и правой границы ‘первого столбца Range(Cells(1, 1), _ Cells(1,10)).Borders(xlEdgeBottom).LineStyle = xlContinuous _ Range(Cells(1, 1), _ Cells(10,1)).Borders(xlEdgeRight).LineStyle = xlContinuous End Sub
Указание к заданию 2. При выполнение данного задания минимизируйте окна Microsoft Excel и Microsoft Visual Basic так, чтобы на экране дисплея отчетливо было видно два окна: левая верхняя часть рабочей книги Excel и полный текст макроса в окне редактора VBA. После этого установите курсор в тело макроса и выберите Debug -> Step Info. У Вас должна появиться желтая засветка в первой строке макроса. Последовательно нажимая клавишу F8, Вы обеспечите пошаговое выполнение макроса. Следите за изменения, происходящими на рабочем лист Excel. По окончанию работы процедуры повторите еепошаговое выполнение еще раз.
В этом задании для ссылки на диапозон ячеек рабочего листа использовано свойство Range в конструкции:
Range( <верхняя левая ячейка> , <нижняя правая ячейка> )
Кроме этого Range может возвращать несмежные ячейки или диапазоны. Например, его можно использовать:
'для выделения 4-х ячеек: Range("a1,b2,c1,d2").Select 'для выделения двух диапазонов ячеек (с назначением им жирного шрифта и подчёркивания) Range("A2:C4, D8:F10").Select Selection.Font.Bold=True Selection.Font.Underline=x1Double
Свойства Rows и Columns выбирают, соответственно, целую строку или диапазон строк и целый столбец или диапазон столбцов. Например: Rows(4) - указывает на четвертую строку рабочей книги, Rows("2:4") - на три строки со второй по четвертую, Columns(2), Columns("B") и Columns("B:B") - на второй столбец текущей рабочей книги. Из примеров видно, что аргументами этих свойств могут быть, как числовые, так и символьные данные.