Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Свойства и методы объекта WorkSheet




 

Основные свойства объекта WorkSheet:

Name – устанавливает или возвращает имя рабочего листа.

Инструкция WorkSheet("Лист1").Name="Январь" позволяет изменить имя рабочего листа "Лист1" на значение "Январь".

Cells – представляет собой альтернативный способ обращения к ячейке. Например, ячейку B1 можно описать двумя способами: Range("B1") или Сells(1,2), где в скобках указаны номер строки и номер столбца, на пересечении которых расположена ячейка.

Инструкция WorkSheet("Январь").Cells.Interior.ColorIndex=5 окрашивает все ячейки листа с именем "Январь"в синий цвет.

Инструкция WorkSheet("Январь").Cells(12,1).Value="Декабрь" позволяет ячейке А12 присвоить значение "Декабрь".

ActiveCell – возвращает активную ячейку активного рабочего листа.

Инструкция ActiveCell.Value=1 позволяет активной ячейке активного рабочего листа присвоить значение, равное 1.

 

Основные методы объекта WorkSheet:

Activate – активизирует указанный рабочий лист.

Например, WorkSheet("Январь").Activate

Select – выбирает указанный рабочий лист.

С помощью инструкции WorkSheet("Февраль").Select будет выбран соответствующий лист.

Delete – удаляет рабочий лист.

В следующем примере удаляется рабочий лист с именем "Январь" WorkSheet("Январь").Delete.

 

6. Операторы языка программирования

Visual Basic for Application

К объектам Range и объектам рабочего листа, имеющим свойство Cells, применимы функции и операторы языка программирования Visual Basic.

Для ввода значений в ячейки электронной таблицы может быть использована функция InputBox().

Например, с помощью инструкции

Range("А1").Value=InputBox("Введите фамилию и инициалы")

в ячейку А1 будет записана конкретная фамилия и инициалы, введенные в текстовое поле стандартного диалогового окна Visual Basic.

Для вывода значений в стандартное диалоговое окно можно использовать либо оператор MsgBox, либо функцию MsgBox().

Например, с помощью оператора

MsgBox "Фамилия сотрудника: " & Range("А1").Value

в стандартное диалоговое окно будут выведены фамилия и инициалы сотрудника, хранящиеся в ячейке А1.

Оператор присваивания используется для присваивания объектам конкретных значений.

Например, инструкция Range("А1").Value="Фамилия И.О. " позволяет записать в ячейку А1 строку символов "Фамилия И.О."

Условные операторы используются для реализации разветвляющихся вычислительных процессов.

Например, инструкции

If Range("A1").Value > 0 Then

Range("B1").Value = 1

Else

Range("B1").Value = -1

End If

позволяют записать в ячейку В1 значение 1 (если в ячейке А1 хранится величина, большая нуля) и -1 (если в ячейке А1 хранится величина, меньшая нуля или равная нулю).

Операторы цикла используются для реализации циклических вычислительных процессов.

Например, инструкции

 

Dim i As Integer, j As Integer, n As Integer

n = InputBox("Введите размерность матрицы")

For i = 0 To n - 1

For j = 0 To n - 1

If i = j Then

Range("A1").Offset(i, j).Value = 1

Else

Range("A1").Offset(i, j).Value = 0

End If

Next

Next

 

позволяют заполнить единичную матрицу произвольной размерности в вычислительной среде Ехсе1, начиная с ячейки А1.

 

В системе программирования VBA существует оператор цикла, имеющий синтаксис:

For Each Имя переменной In Имя объекта ("Диапазон")

Тело цикла

Next

При выполнении оператора на каждом шаге цикла очередное значение выбирается из параметра Диапазон и присваивается переменной с указанным именем. Тело цикла выполняется над выбранным значением переменной. Переменная должна быть типа Variant.

 

Например, инструкции

Dim k As Integer, i As Integer

k = 0

For Each v In Range("a1: a200")

If v <> "" Then k = k + 1

Next

Range("b1").Value = k

 

позволяют определить число заполненных ячеек столбца А до первой пустой ячейки (предполагая, что это число не может быть более 200) и занести полученное значение в ячейку В1.

Инструкция With…End With позволяет избежать большого количества повторений имени одного и того же объекта при записи его свойств и методов и, кроме того, делает код приложения более наглядным. Допустимо также использование встроенных операторов With.

Синтаксис инструкции

With имя объекта

. свойство_объекта…

. метод _объекта…

……………………………

End With

 

Например, инструкции

n = InputBox("Введите размерность матрицы")

For i = 0 To n-1

For j = 0 To n-1

With Range("A1").Offset(i, j)

If i = j Then

.Value = 1

.Interior.ColorIndex = 4

Else

.Value = 0

.Interior.ColorIndex = 6

End If

End With

Next

Next

позволяют заполнить не только единичную матрицу, но и окрасить ячейки, имеющие значение, равное 1, в зеленый цвет, а ячейки имеющие значение 0, – в желтый.

 

Инструкции

Dim y As Integer, d As String

' Вычисление количества заполненных строк в столбце А

y = Range("A1").CurrentRegion.Rows.Count

' Формирование диапазона заполненных ячеек столбца А, начиная с ячейки А1

d = "A1:A" + Trim(Str(y))

With Range(d).Font

.Size = 14

.FontStyle = Bold

.ColorIndex = 3

End With

 

позволяют для заполненных ячеек столбца А установить размер шрифта равный 14, изменить стиль шрифта на полужирный и окрасить их в красный цвет.

 

7. Функции и процедуры

Система программирования Visual Basic for Application предполагает использование модульного принципа программирования при разработке приложений. Приложение представляет собой последовательность модулей, содержащих коды, каждый из которых обрабатывает определенные события. Обычно можно выделить одну или несколько частей кода приложения, которые повторяются в различных модулях. Эти части кода приложения могут быть оформлены как функции или процедуры. Если функции или процедуры должны быть доступны нескольким модулям, то они записываются в секции General.

Синтаксис записи функции имеет следующий вид:

Function Имя функции([Список параметров]) As Тип

Объявление переменных

Тело функции

Имя функции = выражение

End Function

 

Синтаксис записи процедуры имеет следующий вид:

Sub Имя процедуры([Список параметров])

Тело процедуры

End Sub

Имя функции или процедуры – это имя, которое идентифицирует соответствующую функцию или процедуру. Так как функция возвращает значение, присвоенное её имени, то в заголовке функции после списка аргументов указывается тип возвращаемого функцией значения.

Список параметров – это список имен переменных, значения которых должны быть переданы функции или процедуре для ее выполнения. Если в списке указывается имя массива, то после его имени должны быть записаны круглые скобки (например, A()).

Тело функции или процедуры – это последовательность операторов, реализующих часть кода приложения. Следует обратить внимание на то, что в теле функции обязательно должен быть оператор

Имя функции = выражение

где выражение определяет значение, возвращаемое функцией.

Если имени функции не присваивается никакого значения, то она возвращает значение по умолчанию:

0 – при объявлении одним из числовых типов;

символ пробела – при объявлении типом String (символьный);

Empty ("") - в том случае, когда в заголовке функции отсутствует объявление типа.

Обращение к функции является операндом выражения и имеет следующий синтаксис:

Имя функции([Список фактических параметров])

Обращение к процедуре рассматривается как оператор и может быть записано как:

Имя процедуры [Список фактических параметров] или

Call имя процедуры[(Список фактических параметров)]

 

Список фактических параметров должен соответствовать списку параметров в заголовке функции или процедуры по количеству, порядку следования и типу.

Примечание. Список параметров может отсутствовать.

 

Пример записи функции, позволяющей определить количество заполненных строк электронной таблицы и сохранить вычисленное значение в ячейке B1.

Function k() As Byte

k = WorksheetFunction.CountA(Columns("А"))

End Function

' В операторе присваивания используется обращение к функции k().

Range("B1").Value = k

В функции k() для подсчета количества заполненных строк использована функция рабочего листа, имеющего метод CountA. Ее параметром служит имя столбца электронной таблицы (в примере – столбец А).

Пример записи процедуры, позволяющей определять количество заполненных строк электронной таблицы.

Dim k As Byte ' Объявляется в секции General

Sub kol()

k = WorksheetFunction.CountA(Columns("A"))

End Sub

' Обращение к процедуре и сохранение вычисленного значения в ячейке B1

Call kol

Range( " B1 " ).Value = k

 

8. Работа в автоматическом режиме

Работа в Ехсеl в автоматическом режиме осуществляется при запуске на выполнение кода приложения, реализующего какую-либо функцию информационной технологии, записанную в системе программирования

Visual Basic for Application.

Запуск приложения на выполнение осуществляется как отклик элемента управления на какое-либо событие. Чаще всего это щелчок левой кнопкой мыши по элементу управления Командная кнопка (CommandButton).

 




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


Дата добавления: 2014-12-27; Просмотров: 1056; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.