Инструкция For Each.Next

Инструкция For Each...Next повторяет набор инструкций для всех объектов семейства или для всех элементов массива.

Синтаксис:

For Each элемент In группа

инструкции

[Exit For]

инструкции

Next [элемент]

Элемент – управляющая объектная переменная цикла; группа - имя семейства объектов ; Exit For – альтернативный выход из цикла.

Вход в блок For...Each выполняется только в том случае, если группа содержит хотя бы один элемент. После входа в цикл все инструкции цикла выполняются для первого элемента группы. Затем, если группа содержит другие элементы, инструкции цикла выполняются для каждого элемента группы. После обработки всех элементов цикл завершается, а выполнение продолжается с инструкции, следующей за инструкцией Next.

Следующий пример выполняет цикл по диапазону A1:D10 на рабочем листе “Лист1” и присваивает любому числу, имеющему значение меньше 10, значение 0.

Sub List()

Dim c as object

For Each c In Sheets(“Лист1”).Range(“A1:D10”)

    If c.Value < 10 Then c.Value = 0

 Next c

End Sub

В следующем примере на рабочем листе диапазону выделенных ячеек предварительно присваивается имя “ МойДиапазон ”, которое затем и участвует в программе:

Sub Диапазон()

Dim x as object, сount

For Each x In Range("МойДиапазон")

    If x.Value = "" Then count = count + 1

Next x

MsgBox "Всего " & count & " пустых ячеек"

End Sub

В этой программе в диапазоне ячеек рабочего листа с именем “ МойДиапазон ” проверяется содержимое ячеек. Если ячейка ничего не содержит (“”- значение пустой строки), тогда счетчик - переменная count -увеличивается на 1. Далее, инструкция MsgBox выводит на экран значение этого счетчика, т. е. количество пустых ячеек в указанном диапазоне.

Создание диалоговых форм

Для создания диалоговых окон приложений в VBA используются формы. Форма – это окно пользовательского интерфейса. В VBA это UserForm со стандартной сеткой для удобного размещения визуальных элементов на ней. Шаг сетки может быть изменен через команду Параметры. Работа с UserForm выполняется в редакторе форм.

Визуальные компоненты - элементы находятся на панели элементов и называются элементами управления. Это кнопки, поля, переключатели надписи, списки и т. д. Все эти элементы могут быть добавлены в форму для создания и оформления пользовательского интерфейса (рис. 18).

Рис.18. Пользовательская форма в Excel

Элементы управления размещаются в окне формы путем перетаскивания их с панели элементов, при этом для распознавания элементов достаточно установить на него указатель мыши.

Объект (элемент управления) может реагировать на определенные события, происходящие в процессе работы приложения. Совокупность событий, на которые объект способен реагировать, определяется создателем класса, экземпляром которого является данный объект. Например, набор событий, которые определены для формы можно посмотреть на вкладке События (диалогового окна Properties).

Реакцией объекта на произошедшее событие может быть выполнение объектом некоторой специальной процедуры, которая называется процедурой обработки события. Любому событию объекта может быть назначена некоторая процедура его обработки.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: