Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

End Sub. [ElseIf условие-n Then

End Sub

End Sub

End If

If условие Then

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

[ElseIf условие-n Then

[инструкции_elseif]...

[ Else

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

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

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

 

Пример:

 

Sub Test()

If IsError(Range("A1")) = True Then Range("B1") = "ошибка"

В приведенном выше примере проверяется наличие ошибки в введенной формуле в ячейке [A1]. Если формула содержит ошибку, то в ячейку B1 будет выведено сообщение “ошибка”. Если формула введена верно, то никаких сообщений выводится не будет.

Проверка условий может выполняться с использованием сложных реляционных выражений.

Пример:

Sub Test()

If IsError(Range("A1")) = True Or IsEmpty(Range("A1")) = True Then _

Range("B1") = "не верное действие"

В приведенном выше примере проверяется условие, при котором в ячейку [A1] не верно введена формула или в ней отсутствует какая либо запись. В случае выполнения условия в ячейку [B1] выводится сообщение “не верное действие”.

 

При проверке условий могут использоваться следующие реляционные операторы и выражения: <, >, =, <>, And, Or, Xor, Not и некоторые другие, а также функции и выражения возвращающие логические значения.

 

В процессе разработки программ часто возникает необходимость в заполнении таблиц значениями функций (синтеза таблиц) и обработки массивов данных. Для решения таких задач в VBA имеется программная конструкция цикла типа счетчик For …To … Steep … Next. В общем случае синтаксис конструкции имеет следующий вид:

 

For счетчик = начало To конец [Step шаг]

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

[Exit For]

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

Next [счетчик]

 

Рассмотрим на примерах практическое применение данной конструкции.

 

Предположим, что необходимо вычислить значение функции вида y = f(x) c шагом изменения s = 0,01 в диапазоне значений –1…+1. Результат вычислений необходимо вывести в первый столбец листа Excel. Пусть задана функция y = Sin(x).

 

Пример:

Sub Test()

Dim i, AC

AC = 1 'присвоение начального значения указателю адреса

For i = -1 To 1 Step 0.01

AC = AC + 1 'текущее значение указателя адреса

Cells(AC, 1) = Sin(i) 'вывод значений функци и

Next i

Поясним работу вышеприведенной процедуры. В данном случае переменная AC является указателем строки ячеек Листа Excel и ей присваивается начальное значение = 1. При выполнении каждого шага цикла значение переменной AC увеличивается на 1. В первом шаге цикла переменной i присваивается начальное значение равное –1, которое увеличивается в каждом последующем шаге цикла на 0,01. Значение переменной i является аргументом функции Sin(i). Цикл завершается, когда значение переменной i достигнет 1.

Предположим, что необходимо заполнить 100 ячеек во 2 - м столбце Листа Excel случайными числами. Следующий пример демонстрирует реализацию поставленной задачи.

 

Пример:

Sub Test()

Dim i

<== предыдущая лекция | следующая лекция ==>
End Sub. В данном примере инструкция Randomize используется для инициализации генератора случайных чисел | End Sub. Приведенный пример демонстрирует, что цикл типа счетчик эффективно применять в случае, когда заведомо извес
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 282; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.