- •Лабораторная работа №1 (vba)
- •Часть 1
- •1.1. Vba. Элементы управления Цель – ознакомиться с интерфейсом vba, некоторыми его объектами, их свойствами и методами.
- •Элементы объектно-ориентированного программирования в Excel vba.
- •1.2. Редактор vba
- •Окно проекта
- •Окно свойств
- •Инструменты панели элементов
- •Стандартные элементы управления панели элементов:
- •Часть 2 задания к выполнению
- •2.1. С использованием user form решим задачу.
- •2.2. Рассмотренную задачу решим, используя ввод/вывод с листа/на лист Ехсеl
- •Программирование с использованием объектов excel.
- •2.3. Рассмотренную задачу решим, используя функции ввода/ вывода InputBox(), MsgBox()
- •Задания для самостоятельного выполнения.
2.2. Рассмотренную задачу решим, используя ввод/вывод с листа/на лист Ехсеl
Следующие средства VBA используются для ссылок на ячейки рабочих листов Excel:
Свойство Cells позволяет выбрать одну или все ячейки рабочего листа.
Свойство Range возвращает одну ячейку, прямоугольную область или группу несмежных ячеек.
Свойство ActiveCell возвращает активную ячейку активного окна.
Свойство Selection возвращает выделенный объект активного окна.
Свойство Columns и Rows возвращают столбец или строку рабочего листа или диапазона ячеек.
Некоторым неудобством использования cвойства Range является то, что оно требует указания имени ячейки, на которую требуется сослаться. То есть в случае, когда имя точно не известно и требуется использование переменной вместо имени ячейки этот метод не очень подходит. В этом случае предпочтительнее свойство Cells. Существует две особенности использования этого свойства.
Во-первых, вместо символа для указания строки или столбца может использоваться число или численное выражение, а, следовательно, и переменная.
Во-вторых, в списке параметров этого свойства на первом месте стоит строка, а на второй столбец.
В соответствии с этим ссылка, например, на ячейку В7 будет выглядеть, как Cells(7,2), хотя доступна и ссылка вида Cells(7,"B").
Программирование с использованием объектов excel.
Разрабатывать приложения в редакторе VBAможно и с использованием объектов приложенийOffice(объектовEXCEL,WORDи др.)
Рассмотрим разработку приложения примера 2с использованием объектовEXCEL. Будем использовать объекты:
WORKSHEETS() –для обозначения листаEXCEL
RANGE(), илиCtlls()– для обозначения диапазона ячеек или одной ячейки
свойство .Valueдля обращения к значению ячейки.
Т.е., если мы хотим записать в ячейку значение Fпрограммным способом, нужно написать в программе так:
Worksheets().Range().Value = F, где в скобках указать имя или номер листаEXCELи адрес ячейки, или Worksheets().Cells().Value = F. Например, чтобы:
Выполнить |
Выражения в процедуре |
Присвоить ячейке С1 На листе “лист1” значение переменной F |
Worksheets(“лист1”).Range(“C1”).Value = F или Worksheets(“лист1”).Cells(1,3).Value =F |
Присвоить переменной Xзначение, содержащееся в ячейкеD2 |
X=WorkSheets(“лист1”).Range(“D2”).Value или X= WorkSheets(“лист1”).Cells(2,4).Value |
Порядок выполнения работы:
1. Открыть редакторVBE
2. Выполнить команду Insert/Module
3. В окно ввода кодов вставить процедуру Insert/Procedure
Написать программный код.
PublicSubPr_1()
Dim a As Integer, b As Integer, c As Integer
‘Считывание значений
a= WorkSheets(“лист1”).Cells(2,1).Value
b= WorkSheets(“лист1”).Cells(2,1).Value
‘Формирование строки заголовков
Worksheets(“лист1”).Cells(1,1).Value =a
Worksheets(“лист1”).Cells(1,2).Value =b
‘Вычисление
c=a+b
‘Вывод вычисленного значения на лист Excel
Worksheets(“лист1”).Cells(1,3).Value =c
End Sub
Пояснения к программе:
2.3. Рассмотренную задачу решим, используя функции ввода/ вывода InputBox(), MsgBox()
Порядок выполнения работы:
Вставить процедуру в имеющийся в проекте модуль.
Написать программный код.
Public Sub Pr_2()
‘Объявление переменных
Dim a As Integer, b As Integer, c As Integer, Pr As Integer
'Ввод значений переменных
a = CInt(InputBox("Введите значение a "))
b = CInt(InputBox("Введите b"))
c = a + b 'Вычисление значения с
Pr = MsgBox("Значение с равно " & c, 35, "Данные введены")
Debug.Print Pr
End Sub