Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Вопрос 19. VBA Excel. Элементы управления. Свойства и назначения.




Элементы управления в приложениях VBA

Кнопка (Name, Autoload (true/false), Autosize (true/false),Backcolor, Backstyle, Caption (отображающееся название), Enabled (true/false), Font, Visible, Height, Width etc.) Назначение – выполнение определенного действия над объектом MSExcel при нажатии.

Поле со списком (Name, Autoload (true/false), Autosize (true/false),Backcolor, Backstyle, Bordercolor, Bordersize, Font, Text align, Height, Width, Linked Cell, Listfieldrange etc.)

Назначение – отображение данных выбранного массива на листе в виде списка и выбор определенного из предложенных вариантов.

Флажок (Check Box) (Alignment, Autoload, Autosize, Backcolor,Backstyle, Caption, Enabled, Font, GroupName, Height, Width, Visible, Textalign, Linkedcell, Picture, Top, Left)

Назначение – проверка наличия чего-либо.

Счетчик (SpinButton) (Name, Autoload, Backcolor, Enabled, Max, Min, Shadow, SmallChange, Value, Visible, Heigth, Width, Top, Left, Locked, LinkedCell etc.)

Список (ListBox) (Name, Autoload, Backcolor, Enabled, Shadow, Value, Visible, Heigth, Width, Top, Left, Locked, LinkedCell, ListFillRange etc.)

Переключатель (OptionButton) (Font, Name, Alignment, Caption, Enabled, Placement, Value, Visible, Heigth, Width, Top, Left, Locked, GroupName, Shadow, SpecialEffect etc)

Полоса прокрутки (ScrollBar) (Autoload,Backcolor, Linkedcell, Shadow, Top, Left, Value, Height, Width, Visible)

Поле (TextBox) (Autoload,Autosize,Autotab,Autowordselect, Backcolor, Backstyle, BorderColor, BorderStyle, Font, Value, Visible, Heigth, Width, Top, Left, Locked, Shadow, SpecialEffect, LinkedCell etc.)

И другие элементы управления.

 

Вопрос 20. VBA Excel. Управляющие структуры языка

Управляющие конструкции

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

Ветвления

Управляющие конструкции ветвления позволяют проверить некоторое условие и, в зависимости от результатов этой проверки, выполнить ту или иную группу операторов. Для организации ветвлений в VBA используются различные формы оператора ветвления If и-оператор выбора Select Case.

Простейшая, краткая форма оператора if используется для проверки одного условия, а затем либо выполнения, либо пропуска одного оператора или блока из не скольких операторов. Краткая форма оператора ветвления if может иметь как однострочную, так и блочную форму. В одну строку краткая форма If может быть записана так:

If <условие> Then <оператор>

В блочной форме краткое ветвление выглядит следующим образом:

If <условие> Then<оператор1><оператор2>End If

В качестве условия можно использовать логическое выражение, возвращающее значение True или False, или любое арифметическое выражение.

Если условие истинно, выполняется первый блок операторов, заключенный между ключевыми словами Then и Else, а в противном случае – второй блок, заключенный между ключевыми словами Else и End If.

Иногда приходится делать выбор одного действия из целой группы действий на основе проверки нескольких различных условий. Для этого можно использовать цепочку операторов ветвления If…Then… Elseif:

Если выбор одной из нескольких возможностей все время основан на различных значениях одного и того же выражения, используют специально предназначенный для этого оператор выбора Select Case, имеющий следующий синтаксис:

Select Case <проверяемоеВыражение>Case <списокЗначений1><блокОператоров1> …Case <списокЗначений n><блокОператоров n>Case Else<блокОператоровЕlsе>End Select

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

Эти элементы списка выражений могут иметь одну из следующих форм:

<выражение>

<выражение1> То <выражение2>

Is <логическийОператор> <выражение>

Циклы

В VBA имеется богатый выбор средств организации циклов, которые можно разделить на две основные группы – циклы с условием Do… Loop и циклы с перечислением For…Next.

Циклы типа Do… Loop продолжает свою работу до тех пор, пока не будет выполнено определенное условие. Существуют четыре вида циклов Do…Loop, которые различаются типом проверяемого условия и временем выполнения этой проверки.

Do While <условие> <блокОператоров> Loop

Do Until <условие> <блокОператоров> Loop

Do <блокОператоров> Loop Until <условие>

Do <блокОператоров> Loop While <условие>

 

Имеется также две разновидности оператора цикла с перечислением For…Next. Очень часто при обработке массивов, а также в тех случаях, когда требуется повторить выполнение некоторой группы операторов заданное число раз, используется цикл For… Next со счетчиком. В отличие от циклов Do…Loop, данный тип цикла использует специальную переменную, называемую счетчиком, значение которой увеличивается или уменьшается при каждом выполнении тела цикла на определенную величину. Когда значение этой переменной достигает заданного значения, выполнение цикла заканчивается.

Синтаксис этого вида цикла выглядит, следующим образом (в квадратные скобки заключены необязательные элементы синтаксической конструкции):

For <счетчик> = <начальноеЗначение>

То <конечноеЗначение>

[Step <приращение>]

<блокОператоров> Next [<счетчик>]

Еще одна разновидность цикла For…Next, часто использующуюся в VBA при обработке объектов, составляющих массив или семейство однородных объектов. В этой разновидности цикла счетчик отсутствует, а тело цикла выполняется для каждого элемента массива или семейства объектов. Вот синтаксис такого цикла:

For Each <элемент> In <совокупность>

<блокОператоров>

Next [<элемент>]

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...