Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_VBA.doc
Скачиваний:
12
Добавлен:
27.03.2016
Размер:
164.35 Кб
Скачать

MsgBox “Победили на броске” & cStr(Бросок)

Циклический оператор For Each _ Next относится к операторам объектного типа, т.е. применяется к массивам и наборам элементов. Имеет вид:

For Each <элемент>In<набор>

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

[Exit For] ‘– используется для прерывания цикла

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

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

Пример 1: Суммирование элементов массива

Dim A As Variant

Dim b, s as Integer

A = Array (1, 4, 12, 23, 34, 3, 23)

S = 0

b=InputBox (" введите с клавиатуры значение для b ")

For Each b in A

S=S+b

Next b

Пример 2:

S = 0

For Each с in Selection.Cells

S = S+c.value

Next c 'Из выделенного диапазона

MsgBox “S=”&CStr(S)

Пример 3: Работа с семейством рабочих листов – удаление из книги рабочего листа Тест.

For Each Лист in Worksheets

If Лист.Name = “Tест” then

Лист.Delete

End If

Next Лист

Пример 4: Работа с семейством ячеек в диапазоне А1 : С4, ячейки с положительными значениями окрашиваются в синий цвет, а с неположительными в красный.

With Ячейка

if .value <=0 then

.Interior.ColorIndex =3

else .Interior.ColorIndex =5

End if

End With

Next Ячейка

Пример 5: Оператор With избавляет программиста от использования большого количества повторений имени одного и того же объекта или работе с его свойствами и методами. Происходит структурирование кода, что делает его более прозрачным.

1 Вариант:

With Range (“A1”)

.value = 3

.Font.Italic = True

End With

2 Вариант:

With Range (“A1”)

.value = 3

With .Font

.italic = True

.size = 12

.Bold = True

.Color = RGB(255, 30, 255)

End With

End With

8.11. Встроенные диалоговые окна

8.11.1. Окно ввода информации

Встроенных диалоговых окон существует 2 типа: окно сообщений и окно ввода. Окно сообщений выводит простейшую информацию (MsgBox), а окно ввода (InputBox) обеспечивает ввод информации.

Функция InputBox – окно с двумя кнопками ОК и Cancel, строкой сообщения и полем ввода. Рассмотрим оператор, выдающий это окно на экран.

InputBox (Prompt[,Title] [,Default] [,xPos] [,yPos] [,Helpfile, Context]), где:

Prompt - строковое выражение, отображаемое в строке заголовка окна

Title – строковое выражение отображаемое в строке заголовка окна.

Default - строковое выражение отображаемое в поле ввода по умолчанию, если не ввести другое.

xPos – расстояние по горизонтали между левой границей ДО и левым краем экрана (если нет, то по центру горизонтали)

yPos - расстояние по вертикали между верхней границей ДО и верхним краем экрана (если нет, на 1/3 высоты экрана)

Helpfile – адрес файла-справки о ДО, а Context – номер соответствующего раздела в системе.

Пример: Option Explicit

Sub Msg_Inp()

Dim Response As Integer

Dim Message As String

Dim Default As String

Dim Title As String

Dim Help As String

Dim Style As Integer

Dim Ctxt As Integer

Message = «Введите Фамилию, Имя и Отчество студента» ‘ строка-‘сообщение

Title=”Пример окна для ввода” ‘Заголовок окна

Default = “Смирнов Игорь Александрович” ‘текст по умолчанию

Responce = InputBox (Message; Title; Default; 100; 100):End Sub

Введите Фамилию, Имя и Отчество студента

Пример окна - сообщения

ОК

Отмена

Смирнов Игорь Александрович

Рис.61. Окно ввода данных