Excel. Трюки и эффекты - [11]

Шрифт
Интервал

strFullName = "Имя: " & worker.Имя & ", фамилия: " & worker.Фамилия

При использовании заполненной чуть выше структуры (с информацией о сотруднике Иванове) строка strFullName в результате обработки выражения получит значение" Имя: Иван, фамилия: Иванов".

Перечисления

VBA позволяет определять целочисленные типы данных с ограниченным количеством значений – перечисления. Каждому значению перечисления соответствует идентификатор.

Использование перечислений, во-первых, позволяет оградить программиста от ошибок (не нужно знать значения элементов перечислений), а во-вторых, может повысить читаемость программного кода, так как вместо малоинформативных значений типа 167353b программе используются идентификаторы типа Actions ave. Использование перечислений также избавляет от необходимости создания глобальных целочисленных констант, которые используются только как значения параметров функций и процедур.

Описание перечислений

Для описания перечисления в блок деклараций модуля необходимо поместить следующую конструкцию:

[Public | Private] Enum Имя_перечисления

Идентификатор1 [= Значение1]

Идентификатор2 [= Значение2]

Идентификатор1 [= ЗначениеN]

End Enum

Ключевые слова Public и Private задают область видимости перечисления точно так же, как для структуры (см. выше).

После ключевого слова Enum следует имя описываемого перечисления. Внутри блока Enum—End Enum задаются идентификаторы значений перечисления и, если нужно, сами значения, которые сопоставляются с идентификаторами.

Если значение элемента перечисления явно не указывается, то оно автоматически формируется следующим образом:

• если элемент перечисления первый, то тогда ему присваивается нулевое значение;

• если элемент не первый, то его значение равняется значению предыдущего элемента, увеличенному на единицу.

Ниже приведен пример описания перечисления:

Enum MyEnum

value1

value2 = 100

value3

End Enum

В приведенном примере создается перечисление, содержащее три идентификатора и значения. При этом с идентификаторами значения сопоставлены следующим образом: value1 имеет значение 0, value2 – значение 100, a value3 – 101.

Использование перечислений

Объявление переменных для перечислений ничем не отличается от объявления переменных других типов. Ниже приведены примеры объявления переменной и массива переменных для перечисления MyEnum:

Dim EnumValue As MyEnum

Dim EnumValues(255) As MyEnum

Таким переменным можно присваивать любые численные значения, но можно (и даже нужно) использовать идентификаторы этих значений. Например:

EnumValue = value1

EnumValues(100) = value3

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

If EnumValue = value2 Then…

Здесь значением выражения EnumValue = value2 является True, если EnumValue имеет значение value2 (или 100), и False – в противном случае.

Управление выполнением программы

Язык VBA поддерживает ряд способов управления порядком выполнения инструкций программы в пределах функции или процедуры: инструкции безусловного и условного перехода, циклы. Большое количество этих инструкций и наличие различных вариантов обеспечивают максимально эффективное и удобное их использование при написании программ.

Циклы

В VBA реализовано несколько способов организации циклов. Их разнообразие и гибкость играют существенную роль в упрощении программ на языке VBA, а также во многом способствуют повышению наглядности программного кода.

VBA поддерживает четыре вида циклов: обычный цикл For-Next, цикл For Each-Next для просмотра элементов массивов и коллекций, циклы While-Wend и Do-Loop. Циклы различных видов могут быть вложены друг в друга. Рассмотрим подробно каждый из приведенных циклов.

Цикл For-Next

Цикл For-Next в VBA является самым простым и очень часто используемым. Формат данного цикла следующий:

For Счетчик = Начальное_значение To Конечное_значение [Step Шаг]

[Инструкции]

[Exit For]

[Инструкции]

Next [Счетчик]

Здесь Счетчик – это переменная-итератор любого численного типа. Началъное_значение, Конечное_значение, Шаг – численные значения или идентификаторы переменных численного типа. После ключевого слова Next можно (но не обязательно) указывать идентификатор итератора цикла, конец тела которого обозначает данное ключевое слово. Указывать идентификатор переменной-итератора после Next особенно удобно при организации сложных вложенных циклов.

В начале выполнения цикла итератору присваивается значение элемента Начальное_значение. Инструкции, записанные в теле цикла, выполняются до тех пор, пока значение итератора не превзойдет значение элемента Конечное_значение (станет больше или меньше его в зависимости от направления изменения итератора). Шаг и направление изменения итератора (увеличение или уменьшение) задаются элементом Шаг. Если шаг изменения итератора равен единице, то данный элемент можно опустить.

Для преждевременного выхода из цикла предусмотрена инструкция Exit For. При ее встрече в теле цикла выполнение программы переходит на следующую инструкцию после ключевого слова Next.


Еще от автора Алексей Анатольевич Гладкий
Компьютер для бухгалтера

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


1С: Бухгалтерия 8.2. Понятный самоучитель для начинающих

Автоматизация бухгалтерского учета является одной из ключевых задач, стоящих перед руководством каждого предприятия. Время диктует свои условия, и уже давно дебет с кредитом вручную никто не сводит: такой учет громоздок, неповоротлив, медлителен, отличается трудоемкостью и изобилует ошибками. В этой книге мы будем рассматривать одно из наиболее популярных типовых решений системы 1С – конфигурацию «Бухгалтерия предприятия», реализованную на платформе 1С версии 8.2. Этот релиз является самым актуальным на момент написания данной книги.В результате изучения данной книги вы приобретете все необходимые знания для полноценной работы с программой «1С Бухгалтерия 8», научитесь выполнять в ней привычные бухгалтерские операции (работа с документами, формирование проводок, формирование отчетности и др.), самостоятельно создавать и подключать информационные базы, а также подготавливать программу к работе.


Как защитить компьютер от ошибок, вирусов, хакеров

Реалии сегодняшнего дня таковы, что для успешной работы на компьютере, и особенно – в Интернете, недостаточно просто иметь соответствующие навыки. В немаловажной степени результаты работы зависят от того, насколько хорошо пользователь умеет защищать свой компьютер и хранимую в нем информацию. Особую важность вопросы защиты данных приобретают в свете того, что современные мошенники постоянно совершенствуют свое «мастерство», и потеря бдительности может привести к весьма печальным последствиям.В книге подробно рассматриваются различного рода нештатные ситуации, которые могут возникать при работе на компьютере, анализируются причины их возникновения и даются советы и рекомендации по решению этих проблем.


1С: Управление торговлей 8.2. Понятный самоучитель для начинающих

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации.


1С: Бухгалтерия 8 с нуля. 100 уроков для начинающих

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции.


Особенности ПДД разных стран мира. Шпаргалка для тех, кто путешествует за рулем

Книга представляет собой полезную шпаргалку для тех, кто планирует отправиться за границу за рулем автомобиля, и особенно – кто намеревается проехать транзитом несколько стран. Рассказывается, какой скоростной режим действует в той или иной стране, какие санкции полагаются за нарушение ПДД, каковы правила парковки, проезда нерегулируемых перекрестков, перевозки детей, использования ремней безопасности, зимних покрышек и т. д. Вы узнаете, чем в разных странах мира должен быть укомплектован автомобиль, какие документы обязан иметь при себе водитель, в каких странах права международного образца являются недействительными, в каком режиме работают автозаправочные станции, где внести дорожный сбор, что делать в случае ДТП, что такое Международная конвенция о дорожном движении, а также о многом другом.