Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Конструкція оператора For Each мови VBA

Конструкція оператора With мови VBA.

Після ознайомлення з об’єктами, слід розглянути декілька конструкцій мови VBA, які значно полегшують роботу з об’єктами. Для спрощення розуміння використання оператора With, розглянемо приклад форматування діапазону комірок

Процедура форматування діапазону комірок:

Public Sub Format()

Range("B2:D15").NumberFormat = "#,##0.00"

Range("B2:D15").Font.Name = "MS San Serif"

Range("B2:D15").Font.FontStyle = Regular

Range("B2:D15").Font.Size = 13

Range("B2:D15").Font.Strikethrough = False

Range("B2:D15").Font.Superscript = False

Range("B2:D15").Font.Subscript = True

Range("B2:D15").Font.OutlineFont = True

Range("B2:D15").Font.Shadow = True

Range("B2:D15").Font.Underline = xlUnderlineStyleNone

Range("B2:D15").Font.ColorIndex = xlAutomatic

End Sub

При введені коду процедури ми декілька разів набираємо Range("B2:D15"). Із подібних ситуацій VBA пропонує інший вихід – використання оператора With, який “прив’язує” властивості або методи до об’єкта.

Оператор With має наступний синтаксис:

With об’єкт

Оператори

End With

Лістинг наведений нижче демонструє той же код процедури, але з використанням оператора With, який спочатку “прив’язує” до об’єкта Range("B2:D15") властивість NumberFormat = "#,##0.00", а потім властивість Font через другий оператор With “прив’язується” до об’єкта Range("B2:D15").

Оператори With можна вкладати один в одного (допускається до семи вкладень).

Процедура форматування діапазону комірок із використанням оператора With:

Public Sub Format()

With Range("B2:D15")

. NumberFormat = "#,##0.00"

With. Font

. Name = "MS San Serif"

. FontStyle = Regular

. Size = 13

. Strikethrough = False

. Superscript = False

. Subscript = True

. OutlineFont = True

. Shadow = True

. Underline = xlUnderlineStyleNone

. ColorIndex = xlAutomatic

End With

End With

End Sub

Якщо оператор With використовується для виконання декількох дій для одного об’єкта, то оператор For Each використовується для виконання одного і того ж набору дій для декількох об’єктів. Оператор For Each, як правило, використовувати для перегляду елементів масиву або колекції.

Оператор For Each має наступний формат:

For Each елемент In колекція(масив)

....Next елемент

Елемент – це ідентифікатор змінної-інтерпретатора; колекція – ідентифікатор колекції або масиву.

У коді процедури Колекції переглядаються аркуші активної книги і на екран по черзі виводиться № аркуша та його ім’я.

Приклад використання оператора For Each.

Public Sub Колекції()

Dim Аркуш As Worksheet

Dim Nomer As Integer

Nomer = 0

For Each Аркуш In ActiveWorkbook.Worksheets

Nomer = Nomer + 1

MsgBox ("Ім’я аркуша: ") & Nomer & " " & Аркуш.Name

Next Аркуш

End Sub

<== предыдущая лекция | следующая лекция ==>
Об’єкт CommandBar (Командна панель), його властивості і методи | Виконання макросу у Word
Поделиться с друзьями:


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


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



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




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