Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
For Each Элемент In Группа
[Инструкции] [ Exit For ] [Инструкции] Next [Элемент] Альтернативный способ выхода из цикла предоставляет инструкция Exit For. В данном примере при помощи оператора цикла For Each находится сумма элементов массива. Пример Dim A As Variant A = Array(1, 4, 12, 23, 34, 3, 23) s = 0 For Each b In A s = s + b Next b Пример. Суммирование значений из выделенного диапазона: s = О For Each c In Selection.Cells s = s + c.Value Next с MsgBox s В следующем примере цикл For Each используется для работы с семейством ячеек. В нем все ячейки диапазона А1:С4 с положительными значениями окрашиваются в в синий цвет, а с неположительными — в красный. Пример . For Each Ячейка In Range ("Al :C4") .Cells With Ячейка If .Value <= 0 Then .Interior.Colorlndex = 3 Else Interior.Colorlndex = 5 End If End With Next Ячейка Оператор While— Wend Оператор W hile - W end выполняет последовательность инструкций, пока данное условие имеет значение True. Синтаксис: While Условие [Инструкции] Wend Оператор повтора W hile - W end в отличие от For - Next работает не заданное число раз, а пока выполняется условие. В следующем примере бросается игральная кость до тех пор, пока не выпадет шесть очков. При выпадении шести очков игра заканчивается, и отображается сообщение с указанием, на каком броске она закончилась. Пример. Dim Бросок As Integer D im Очки As Integer RandomiZe Очки = Int (6* Rnd ())+1 Бросок = 1 Whi le Очки < 6 Бросок = Бросок + 1 Очки = Int (6* Rnd ())+1 Wend MsBox ”Победили на броске ” & Бросок Оператор Do — Loop Оператор Do - Loop повторяет выполнение набора инструкций, пока условие имеет значение True (случай while) или пока оно не примет значение True (случай Until). Синтаксис: Do [{ While | Until } Условие] [Инструкции] [ Exit Do ] [Инструкции] Loop Или
Do [Инструкции] [ Exit Do ] [Инструкции] Loop [{While | Until] Условие] В любом месте управляющей структуры Do - Loop может быть размещено любое число инструкций Exit Do, обеспечивающих альтернативные возможности выхода из цикла Do - Loop. Пример. Конструкция, обеспечивающая повторение цикла до тех пор, пока в поле ввода диалогового окна не будет введен пароль. " ■ • ■ - Do Пароль = InputBox ("Введите пароль") Loop Until Пароль = "Привет" Пример . Суммирование всех вводимых чисел s = О Do х = InputBox("Введите число") If Not IsNumeric(x) Then Exit Do s = s + x Loop Оператор безусловного перехода Оператор безусловного перехода задает переход на указанную строку внутри процедуры. Обязательный параметр строка может быть любой меткой строки или ее номером. Синтаксис: GoTo Строка Для использования оператора безусловного перехода надо какой-то строке присвоить метку. Метка должна начинаться с буквы и заканчиваться двоеточием. Процедуры ввод и вывод В проектах VBA для вода / вывода используются две разновидности диалоговых окон: окна сообщений и окна ввода. Они встроены в VBA и если их возможностей достаточно, то можно обойтись без проектирования диалоговых окон. Окно сообщений (MsgBox ) выводит простейшие сообщения для пользователя, окно ввода (Inputbox ) обеспечивает ввод информации. Функция Описание I nputbox Выводит на экран диалоговое окно, содержащее сообщение и поле ввода, две кнопки ОК и Cancel. Устанавливает режим ожидания ввода текста пользователем и нажатия кнопки, а затем возвращает значение типа String по нажатию на кнопку ОК, содержащее текст, введенный в поле ввода. При нажатии кнопки Cancel возвращает пустую строку ( Empty ). Синтаксис: Inputbox ( Prompt [, Title ][, Default ][, xPos ][, yPos ] [, Helpfile , Context ]) · Prompt –строковое выражение, отображаемое как сообщение в диалоговом окне. Строковое выражение Prompt может содержать несколько строк.; · Title — строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот параметр опущен, то в строку заголовка помещается имя приложения; · Default — строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот параметр опущен, то поле ввода изображается пустым; · xPos — числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана. Если этот параметр опущен, то диалоговое окно выравнивается по центру экрана по горизонтали; · yPos — числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и верхним краем экрана. Если этот параметр опущен, то диалоговое окно помещается по вертикали примерно на одну треть высоты экрана; · Helpfile — строковое выражение, определяющее имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот параметр указан, то необходимо указать также параметр Contex t; · Context — числовое выражение, определяющее номер соответствующего раздела справочной системы. Если этот параметр указан, то необходимо указать также параметр Helpfile . MsgBox Выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем, и возвращает значение типа Integer, указывающее, какая кнопка была нажата. Синтаксис: MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context]) · Prompt — строковое выражение, отображаемое как сообщение в диалоговом окне; · Buttons — числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и модальность окна сообщения. Значение по умолчанию этого параметра равняется 0;Значения констант, определяющих число, тип кнопок и использования значка приведены в таблицах 6.1 –6.3. · Title — строковое выражение, отображаемое в строке заголовка Диалогового окна. Если этот параметр опущен, то в строку заголовка помещается имя приложения; · Helpfile — строковое выражение, определяющее имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот параметр указан, то необходимо указать также параметр Contex t; · Context — числовое выражение, определяющее номер соответствующего раздела справочной системы. Если этот параметр указан, то необходимо указать также параметр Helpfile . Таблица 6.1. Значения параметров Buttons п роцедуры MsgBox ,
Таблица 6.2. Значения параметров Buttons п роцедуры MsgBox ,
Таблица 6.3. Значения параметров Buttons п роцедуры MsgBox ,
При написании программ с откликом в зависимости от того, какая кнопка диалогового окна нажата, вместо возвращаемых значений удобнее использовать константы, приведенные в таблице 6.4. Таблица 6.4. Значения параметров Buttons п роцедуры MsgBox ,
Задание 3. Введите программу и разберитесь в ее работе. Sub Знакомство () Dim Имя As String Имя = InputBox ("Введите Ваше имя", "Знакомство") If Имя <> "" Then MsgBox "Здравствуй, " & Имя, vbInformation , "Пример окна_ сообщений" Else MsgBox "Вы забыли ввести свое имя? " & Имя,_ vbExclamation , "Другой пример окна сообщений" End If End Sub |
Последнее изменение этой страницы: 2019-04-19; Просмотров: 279; Нарушение авторского права страницы