Основы объектно-ориентированного программирования (на примере VBA в MS Excel)

Запись макроса в VBA в Excel. Структура редактора, основные окна и элементы управления. Правила создания процедуры, функций. Коды задания командных кнопок. Виды условных операторов. Циклическая обработка инструкций. Разработка пользовательских приложений.

Рубрика Программирование, компьютеры и кибернетика
Вид методичка
Язык русский
Дата добавления 18.11.2011
Размер файла 2,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Описание констант

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

Const ИмяКонстанты As ТипДанных = Значение

Например:

Const Gruppa As Integer = 25

Диалоговые окна для обмена сообщениями (MsgBox(), InputBox())

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

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

Встроенная функция MsgBox() обеспечивает создание диалоговых окон различных типов.

Простое окно-сообщение

MsgBox(“строка_сообщение”)

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

Окно-сообщение с командными кнопками

MsgBox(“строка_сообщение” [, <кнопки>][, “заголовок_окна”] [, <файл-подсказки>, <контекст>]),

где <строка_сообщение> - максимальная длина строки - 1024 символа;

<кнопки> - число, являющееся суммой кодов выбранных типов кнопок и пиктограммы, или имена кнопок;

<заголовок_окна> - строка символов;

<файл-подсказки> - имя файла-подсказки для контекстно-зависимой помощи при работе в окне, строка символов;

<контекст> - число, которое назначено подсказке для данного окна.

Функция MsgBox() возвращает код (число), соответствующий нажатой кнопке. Коды задания командных кнопок и пиктограмм приведены в таблице 3.2.

Таблица 3.2 - Список видов командных кнопок и их кодов

Код

Константа

Описание

Коды командных кнопок

0

vbOKOnly

ОК

1

vbOKCancel

ОК, Отмена

2

vbAbortRetryIgnore

Повторить, Прекратить, Игнорировать

3

vbYesNoCancel

Да, Нет, Отмена

4

vbYesNo

Да, Нет

5

vbRetryCancel

Повторить, Отмена

Коды активности по умолчанию

0

vbDefaultButton 1

Активная 1

256

vbDefaultButton 2

Активная 2

512

vbDefaultButton 3

Активная 3

Коды пиктограмм

16

vbCritical

Важное сообщение

32

vbQuestion

Предупредительный запрос

48

vbExclamation

Предупредительное сообщение

64

vbInformation

Информационное сообщение

Коды модальности

0

vbApplicatinModal

Программное модальное описание (требуется обязательный ответ, работа приложения приостанавливается)

4096

vbSystemModal

Системное модальное описание (требуется обязательный ответ, работа всех приложений приостанавливается)

Функция InputBox() обеспечивает формирование окна для вывода строки сообщения и ожидания ввода строки символов или нажатия кнопки. Возвращает содержание текстового блока:

InputBox(“строка_сообщение” [,“заголовок_окна”] [,<текст-по_умолчанию>][, Xпоз][,Yпоз][,<файл-подсказки>, <контекст>])

где <текст-по_умолчанию> - строка символов, выводимая в текстовом блоке (может быть пустой),

Xпоз, Yпоз - позиция левого верхнего угла окна.

ЗАДАНИЯ

I. Создать процедуру выхода из формы.

II. Создать процедуру, выполняющую следующее: данные, введенные в текстовое поле должны отобразиться в надписи.

III. Создать процедуру с использованием встроенной функции MsgBox().

IV. Создать процедуру, формирующую диалоговое окно с кнопками.

V. Создать процедуру, формирующую окно ввода.

Технология работы

I. Создание процедуры выхода из формы.

Откройте сохраненный проект Лабораторная работа №2.

Задайте кнопке «Выход» команду закрыть. Для этого необходимо перейти к окну кода следующим образом: дважды щелкнув по кнопке «Выход», при этом откроется окно кода.

Внутрь процедуры впишите слово End.

Private Sub CommandButton1_Click()

End

End Sub

Слева в первой строке указывается имя объекта, с которым мы работаем, слева - действие, применяемое к данному объекту. В нижней области окна набрана программа, выполняющая заданную команду. В данном случае - команда End (закрыть).

4. Запустите проект и проверьте его на выполнение. Для этого необходимо выполнить одно из следующих действий:

на панели инструментов нажать на кнопку (запуск проекта);

используя строку меню, выполнить команду: Запуск/Запуск макроса (Run/Run macro);

использую функциональную клавишу F5.

II. Создание процедуры, выполняющей следующее: данные, введенные в текстовое поле должны отобразиться в надписи. Событие присвойте кнопке «Замена».

1. На имеющейся форме создайте командную кнопку «Замена».

2. Для открытия окна кода дважды щелкните по кнопке.

3. Запишите процедуру:

Private Sub CommandButton2_Click()

Label1.Caption = TextBox1.Text ' присвоение заголовку Надписи (Label) текста, введенного в Текстовое поле(TextBox)

TextBox1.Text = " " 'очистить текстовое поле

End Sub

III. Создание процедуры с использование встроенной функции MsgBox().

Откройте новую рабочую книгу.

Запустите редактор VBA.

Добавьте модуль, выполнив следующую команду: Вставка/Модуль (Insert/Module).

В появившемся окне впишите следующую процедуру:

Option Explicit `обязательность объявления всех переменных перед их использованием

Sub Msg_Priim() `объявление процедуры

Dim a As Single `объявление переменных

Randomize `запуск генератора случайных чисел

a=rnd `присвоение переменной значения случайного числа

MsgBox «Значение случайного числа» & Str(a) `вывод сообщения

End Sub `конец процедуры

5. Запустите модуль и проверьте его на выполнение. Для этого необходимо выполнить одно из следующих действий:

на панели инструментов нажать на кнопку (запуск проекта);

используя строку меню, выполнить команду: Запуск/Запуск макроса (Run/Run macro);

использую функциональную клавишу F5.

6. Нажмите кнопку ОК и снова запустите модуль на выполнение. Убедитесь, что число в окне вывода стало другим.

IV. Создание процедуры, формирующего диалоговое окно с кнопками.

1. В существующем модуле измените тело процедуры, приведенной ниже:

Option Explicit `обязательность объявления всех переменных перед их использованием

Sub Msg_Priim() `объявление процедуры

Dim Response As String

Dim Msg As String

Dim Title As String

Dim Help As String

Dim Ctxt As Integer

Dim Styl As Integer

'объявление переменных

MsgBox «Вы хотите продолжить?»

Styl=35

`строка сообщения

Title= «Пример окна-сообщения» `заголовок окна

Help=”DEMO.HLP” `имя файла-подсказки

Ctxt=0 `Номер контекста внутри файла-подсказки

Response=MsgBox (Msg, Styl, Title, Help, Ctxt) `Присвоение переменной кода ответа

End Sub `конец процедуры

2. Запустите модуль и проверьте его на выполнение.

V. Создание процедуры: формирование окна ввода.

1. В существующем модуле введите следующую процедуру:

Sub Inp_Priim() `объявление процедуры

Fam=InputBox(“Введите фамилию студента”, vbYesNo)

`вывод диалогового окна сообщения

Range (“B2”)=Fam `вывод фамилии студента на рабочий лист Excel в ячейку В2

End Sub `конец процедуры

2. Запустите модуль и проверьте его на выполнение.

Самостоятельная работа.

1. В примере п.5 выполните изменения:

а) окно вывода сообщения с кнопками «Да», «Нет», «Отмена»;

б) окно вывода сообщения с кнопками «Повторить», «Отмена»;

Контрольные вопросы.

Что такое процедура? Как записывается процедура?

Что такое функция?

В чем отличие процедуры от функции?

Основные типы переменной.

Что такое константа?

Как изменить цвет объекта?

Как отформатировать надпись?

Что такое Option Explicit?

Каково назначение функций InputBox и MsgBox?

Лабораторная работа №4

Тема: Виды условных операторов

Цель: ознакомить с видами условных операторов.

Задачи: - изучить виды алгоритмов;

- изучить типы операторов и их синтаксис.

Основные понятия

До сих пор мы учились вводить данные и присваивать значения переменным. Теперь надо научиться организовывать различные потоки выполнения приложения в зависимости от ситуации, которая складывается в ходе работы программы. Не раз и не два Вы видели в окнах сообщений кнопки Да и Нет, Ок и Cancel, и знаете, что дальнейший ход программы будет зависеть от того, на какой кнопке щёлкнет пользователь.

Разветвляющийся алгоритм

Алгоритм называется разветвляющимся, если последовательность выполнения шагов алгоритма изменяется в зависимости от выполнения некоторых условий. Условие - это логическое выражение, которое может принимать одно из двух значений: “ДА” - если условие верно (истинно), и “НЕТ” - если условие неверно (ложно).

Простой условный оператор

Общий вид в алгоритме конструкции простого условного оператора изображен на схеме 1.

Схема 1

Размещено на http://www.allbest.ru/

Синтаксис простого условного оператора, если Вы пишите программу структурно, следующий:

If <логическое выражение> Then

Pешение 1

Else

Pешение 2

End If

Возможна и другая запись:

If <логическое выражение> Then Pешение1 Else Pешение2,

End If

где If, Then, Else, End If - зарезервированные слова, а Pешение1, Pешение2 - операторы.

Простой условный оператор работает по следующему алгоритму:

Сначала вычисляется логическое выражение. Если результат есть TRUE (истина), то выполняется оператор Pешение1, а оператор Pешение2 пропускается.

Если результат есть FALSE (ложь), то выполняется оператор Pешение2, а оператор Pешение1 пропускается.

Многозначные ветвления

Общий вид в алгоритме конструкции многозначных ветвлений показан на схеме 2.

Схема 2

Размещено на http://www.allbest.ru/

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

Синтаксис многозначных ветвлений, если Вы пишите программу структурно, следующий:

If <лог. выражение1> Then

Pешение1

ElseIf <лог. выражение2> Then

Pешение2

ElseIf <лог. выражение3> Then

Pешение3

Else

Pешение4

End If

Возможна и другая запись:

If <лог. выражение1> Then Pешение1 ElseIf <лог. выражение2>

Then Pешение2 ElseIf <лог. выражение3>

Then Pешение3 Else Pешение4

End If

где If, Then, Else, End If - зарезервированные слова, а Pешение1, Pешение2,Pешение3 Pешение4,- операторы.

Алгоритм работы такой конструкции следующий: если логическое выражение1 истинно, то выполняется оператор или блок операторов, следующих за конструкцией Then, в противном случае этот блок пропускается. Если логическое выражение, следующее за оператором If ложно, то анализируется логическое выражение, следующее за ElseIf. Если оно истинно, то выполняется оператор или блок операторов, следующих за Then, а остальные операторы пропускаются. Операторы, следующие за последним Else, выполняются лишь в том случае, если ложны все логические выражения в конструкциях If. Любая встретившаяся часть Else принадлежит ближайшей к ней части Then условного оператора. Условные операторы If в такой конструкции называются вложенными.

Для создания логических условий используются операторы сравнения которые приведены в таблицах 4.1 и 4.2.

Таблица 4.1

ОПЕРАТОР ПРИСВАИВАНИЯ

ЕГО НАЗНАЧЕНИЕ

=

РАВНО

>

БОЛЬШЕ

<

МЕНЬШЕ

>=

БОЛЬШЕ ИЛИ РАВНО

<=

МЕНЬШЕ ИЛИ РАВНО

<>

НЕ РАВНО

Таблица 4.2

Логический оператор

Описание

And (И)

Если оба условия, соединённые этим оператором имеют значение ИСТИНА, то результат - ИСТИНА, в противном случае - ЛОЖЬ

Or (ИЛИ)

Если хотя бы одно из условий, соединённых этим оператором, имеет значение ИСТИНА, то результат - ИСТИНА, в противном случае - ЛОЖЬ

Not (Не)

Если логическое выражение имеет значение ЛОЖЬ, то результат применения к нему этого оператора - ИСТИНА. Если логическое выражение имеет значение ИСТИНА, то результат применения оператора - ЛОЖЬ

Xor (исключающее ИЛИ)

Если одно и только одно из условий, соединённых этим оператором, имеет значение ИСТИНА, то результат - ИСТИНА. Если оба условия имеют значения ИСТИНА или ЛОЖЬ, то результат - ЛОЖЬ

Оператор выбора Select Case

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

На этом примере видно, что за счёт вкладывания одного условного оператора в другой, конструкция усложняется, становится тяжёлой для восприятия. В подобных случаях хорошей альтернативой оператору If служит оператор выбора Select Case, который позволяет выбрать одно из нескольких возможных продолжений программы.

Синтаксис оператора Select Case следующий:

Select Case КлючВыбора

Case Is выражение

оператор

Case диапазон значений

оператор

Case диапазон значений

оператор

Case диапазон значений

оператор

Case Else

оператор

End Select

ЗАДАНИЯ

I. Создать процедуру с использованием простого условного оператора If.

II. Создать процедуру с использованием оператора выбора Select Case (с использованием функции Msgbox, работа с ячейкой).

III. Создать процедуру с использованием оператора выбора Select Case (с использованием функций Msgbox, InputBox).

Технология работы

I. Создание процедуры с использованием простого условного оператора If.

Откройте новую рабочую книгу.

Вставьте модуль в редакторе VBA.

Создайте процедуру и назовите её Абитуриент().

Введите следующий код процедуры:

Sub Абитуриент()

Dim ball As String

ball = MsgBox(«Вы хотите сдать аттестацию на 30 баллов?», vbYesNo)

If ball = vbYes Then

Range(«b4»).Value = «Надо сдать все работы»

Else

Range(«b4»).Value = «Вам будет трудно сдать экзамен»

End If

End Sub

Перейдите в рабочую книгу.

Вставьте командную кнопку в рабочий лист. В списке Имя макроса выберите процедуру Абитуриент и щёлкните на кнопке Ок.

Дайте кнопке новое имя - «Вопрос». Получим лист как на рис. 4.1.

Рис. 4.1 - Законченный вид рабочего листа

Щёлкните на кнопке «Вопрос». Отобразится окно сообщения (рис. 4.2).

Рис. 4.2 - Вопрос, требующий ответа

В этом примере значение переменной ball проверяется условным оператором If. После применения оператора Range(«b4»).Value = «Надо сдать все работы» в ячейку b4 рабочего листа заносится, то выражение, которое находится справа от оператора присваивания либо - «Надо сдать все работы», либо - «Вам будет трудно сдать экзамен»

II. Создание процедуры с использованием оператора выбора Select Case (работа с ячейкой и функцией MsgBox).

Вставьте модуль в редакторе VBA.

Перейдите в рабочую книгу.

Вставьте командную кнопку в рабочий лист. В списке Имя макроса выберите процедуру ball и щёлкните на кнопке Ок.

Дайте кнопке новое имя - «Оценка».

6.Запустите её на выполнение и убедитесь в том, что она работает. При этом оценка будет введена в ячейку А5.

III. Создание процедуры с использованием оператора выбора Select Case (работа с встроенными функциями MsgBox, InputBox).

Вставьте модуль в редакторе VBA.

Напишите код процедуры:

Sub Возраст()

Dim vozrast As Integer

vozrast=InputBox(“Введите ваш возраст”, vbYesNo)

Select Case vozrast

Case Is <=7

Msgbox”Дошкольник”

Case 8 to 16

Msgbox”Школьник”

Case 17 to 30

Msgbox”Студент”

Case 31 to 60

Msgbox” Специалист”

Case Else

Msgbox”Пенсионер ”

End Select

End Sub

Перейдите в рабочую книгу.

Вставьте командную кнопку в рабочий лист. В списке Имя макроса выберите процедуру Возраст и щёлкните на кнопке Ок.

Дайте кнопке новое имя - Выбор.

Запустите её на выполнение и убедитесь в том, что она работает.

Если значение переменной vozrast меньше или равно 7, отображается сообщение ”Ты дошкольник”. Если значение переменной vozrast находится в диапазоне от 8 до 16, отображается сообщение ”Ты учишься в школе”. Если значение переменной vozrast находится в диапазоне от 17 до 30, отображается сообщение ”Тебе пора заняться делом”. Если значение переменной vozrast находится в диапазоне от 31 до 60, отображается сообщение ” Кто не работает, тот не ест”. Если значение возраста не равно ни одному из предложенных диапазонов значений, выводится сообщение ”Вы заслужили отдых”.

Самостоятельная работа.

Создать на рабочем листе командную кнопку с процедурой выполнения проверки правильности решения задачи (в процедуре использовать условный оператор If и встроенную функцию MsgBox). Условие задачи показано на рисунке 4.3.

Рисунок 4.3 - Условие задачи

В примере п.3 выполните изменения в тексте программы:

а) присвойте ячейке В3 значение переменной vozrast;

б) предусмотрите вывод ответа в ячейку А3.

Контрольные вопросы.

Дайте определение разветвляющемуся алгоритму?

Синтаксис простого условного оператора?

Синтаксис составного условного оператора?

Перечислите операторы сравнения?

Перечислите логические операторы?

Какой общий вид алгоритма конструкции многозначных ветвлений?

Для чего предназначен оператор If?

Для чего предназначен оператор Select Case?

Лабораторная работа №5

Тема: Циклическая обработка инструкций

Цель: ознакомить с видами циклов.

Задачи: - изучить виды циклических алгоритмов;

изучить типы циклических операторов и их синтаксис.

Основные понятия

Циклический алгоритм

Очень часто в программах надо выполнить определённые операторы несколько раз. Не логично записывать эту последовательность действий 20 или 50 раз подряд. В этих случаях организуют циклические вычисления. Алгоритм называется циклическим, если определенная последовательность шагов выполняется несколько раз в зависимости от заданной величины, которая называется параметром цикла.

Оператор цикла For…Next

Общий вид в алгоритме конструкции оператора For…Next, который позволяет выполнить группу операторов или один оператор заданное количество раз, покаазан на схеме 3.

Схема 3

Цикл - это процесс повторения набора инструкций. Возможно, вы заранее знаете сколько раз должен повториться цикл, или это значение определяется переменными в программе.

Этот оператор имеет следующий синтаксис:

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

Pешение1

[Exit For]

Pешение n

Next [счетчик]

Где For(для), To(до), Step(шаг), Exit For(выход из цикла), Next(следующий) - служебные слова VBA, а Pешение1, Pешение n - операторы. Step является необязательным параметром. Если он опущен в программе, то значение параметра I увеличивается на 1. Параметр Step может быть любым действительным числом, как целым, так и дробным, как положительным, так и отрицательным. Работает оператор For следующим образом:

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

Программирование циклов Do

Для выполнения оператора For необходимо задать параметры, которые будут определять, сколько раз должен выполниться оператор(ы) цикла. Альтернативой циклу с For…Next является цикл Do, в котором группа операторов выполняется до тех пор, пока определённое логическое выражение имеет значение True (истина). Такие циклы нужно применять в тех задачах, где мы не можем знать точно, сколько раз будет повторен цикл. Например, Вы хотели бы, чтобы пользователь вводил пароль в вашей программе до тех пор, пока он не совпадёт с Вашим паролем. Существует несколько разновидностей цикла Do, в зависимости от условий его выполнения.

Циклы Do … While

Общий вид в алгоритме этого оператора представлен на схеме 4:

Схема 4

Синтаксис оператора следующий:

Do While <логическое выражение>

Pешение 1

Pешение 2

Pешение n

Loop

где Do(выполнить), While(пока), Loop(петля) - зарезервированные слова, Pешение1, Pешение2, Pешение n - операторы.

Если логическое выражение после служебного слова While имеет значение True, то выполняются операторы Pешение1, Pешение2, Pешение n, после чего проверка логического выражения повторяется. Если логическое выражение имеет значение False, то происходит выход из цикла. Если условие в заголовке цикла не является истинным с самого начала, цикл Do не выполняется ни разу.

Другая возможная запись цикла:

Do While Until <логическое выражение>

Pешение1

Pешение2

Pешение n

Loop

Смысл связки Do…While Until <логическое выражение> - до тех пор, пока логическое выражение истинно выполнять операторы Pешение1, Pешение2, Pешение n.

Циклы Do…Until

Повторяющиеся вычисления можно организовать, используя в программах, другой оператор Do…Until.

Общий вид в алгоритме этого оператора изображен на схеме 5.

Схема 5

Синтаксис оператора следующий:

Do

Pешение1

Pешение2

Pешение n;

Loop Until <логическое выражение>

Цикл с оператором Do…Loop Until начинается с выполнения операторов внутри цикла, поэтому цикл, организованный с помощью этого оператора, в любом случае выполнится хотя бы один раз. Затем проверяется логическое выражение и если оно истинно, то осуществляется выход из цикла. Если же значение логического выражения ложно, то выполнение операторов Pешение1, Pешение2, Pешение n повторяется, а затем вновь проверяется логическое выражение.

Другая возможная запись цикла:

Do

Pешение1

Pешение2

Pешение n;

Loop While <логическое выражение>

Структура цикла Do…Until имеет много общего с конструкцией Do…While. Разница заключается лишь в том, как проверяется условие цикла. В варианте Do…While цикл выполняется до тех пор, пока выполняется условие. В цикле Do…Until цикл выполняется, пока условие не станет выполняться.

ЗАДАНИЯ

I. Создать процедуру с использованием конструкции For … Next.

II. Создать процедуру с использованием конструкции Do…While.

III. Создать процедуру с использованием конструкции Do…Until.

Технология работы

I. Создание процедуры с использованием конструкции For … Next.

а) в этом задании не используется переменная шаг и необязательный оператор Exit For. Эта процедура выполняет оператор Sum = Sum + Sqr (Count) 100 раз и отображает результат - сумму квадратных корней первых 100 целых чисел.

1. Откройте новую рабочую книгу.

2. Вставьте модуль в редакторе VBA.

3. Создайте процедуру и назовите её SumSquareRoots().

4. Введите следующий код процедуры:

Sub SumSquareRoots()

Dim Sum As Double, count As Integer

Sum = 0

For count = 1 To 100

Sum = Sum + Sqr(count)

Next count

MsgBox Sum

End Sub

5. Запустите её на выполнение и убедитесь в том, что она работает. При этом будет выведена сумма квадратных корней первых 100 целых чисел.

В данном задании Count (переменная-счетчик цикла) имеет начальное значение 1 и увеличивается на 1 при каждом повторении цикла. Переменная Sum суммирует квадратные корни каждого значения Count

б) в этом задании используется переменная шаг, чтобы пропустить отдельные итерации цикла.

1. Вставьте модуль в редакторе VBA.

2. Создайте процедуру и назовите её SumOddRoots().

3. Введите следующий код процедуры:

Sub SumOddSquareRoots()

Sum = 0

For count = 1 To 100 Step 2

Sum = Sum + Sqr(count)

Next count

MsgBox Sum

End Sub

4. Запустите её на выполнение и убедитесь в том, что она работает. В данном примере count(переменная-счетчик цикла) имеет начальное значение 1 и увеличивается на 2 при каждом повторении цикла. Переменная Sum суммирует квадратные корни каждого значения count.

в) циклы For … Next могут также содержать один или боле операторов Exit For. Когда программа встречает этот оператор, то сразу же выходит из цикла, как показано в следующем примере. Эта процедура определяет, какая ячейка столбца А на активном рабочем листе имеет наибольшее значение:

Вставьте модуль в редактор VBA.

Создайте процедуру и назовите её ExitForDemo().

Введите следующий код процедуры:

Sub ExitForDemo()

MaxVal = Application.WorksheetFunction.Max(Range("A:A"))

For Row = 1 To 65536

Set TheCell = Range("A1").Offset(Row - 1, 0)

If TheCell.Value = MaxVal Then

MsgBox "Максимальное значение сталбца А находится в строке" & Row

TheCell.Activate

Exit For

End If

Next Row

End Sub

4. Запустите её на выполнение и убедитесь в том, что она работает. При этом процедура определит какая из ячеек столбца А на активном рабочем листе будет иметь наибольшее значение.

Максимальное значение в столбце вычисляется с помощью функции Excel Max. Затем это значение присваивается переменной MaxVal. Цикл For … Next проверяет каждую ячейку в столбце. Если определенная ячейка равна MaxVal, оператор Exit For заканчивает процедуру. Однако перед выходом из цикла процедура сообщает пользователю о расположении искомой ячейки и активизирует её.

г) оператор Exit For позволяет выйти из цикла For…Next до его завершения. Тем самым программа сможет среагировать на определённое событие, не завершая выполнение цикла заданное число раз. Например, в следующем примере.

1. Вставьте модуль в редактор VBA.

2. Создайте процедуру и назовите её Звонок1().

3. Введите следующий код процедуры:

Sub Звонок1()

Dim i As Integer

Dim name As String

For i = 1 To 10

name = InputBox ("Введите изучаемые вами предметы или слово Звонок для выхода")

If name = "Звонок" Then

Exit For

End If

MsgBox name

Next

End Sub

4. Запустите её на выполнение и убедитесь в том, что она работает. При этом программа запрашивает у пользователя ввод до 10 предметов, но если введено слово "Звонок", то программа прервёт своё выполнение и приступит к обработке инструкций, следующих за оператором Next. Оператор Exit For обычно используется с оператором If или Select Case.

II. Создание процедуры с использованием конструкции Do…While:

а) в данном примере цикл Do…While обрабатывает данные до тех пор, пока не будет введено слово “Звонок”:

1. Вставьте модуль в редактор VBA.

2. Создайте процедуру и назовите её Звонок2().

3. Введите следующий код процедуры:

Sub Звонок2()

Dim i As Integer

Dim name As String

Do While name<>"Звонок"

name = InputBox("Введите изучаемые вами предметы или слово Звонок для выхода")

If name <> "Звонок" Then

MsgBox name

End If

Loop

End Sub

4. Запустите её на выполнение и убедитесь в том, что она работает. При этом программа будет выполняться до тех пор пока не будет введено слово «Звонок».

VBA позволяет проверять условие While в начале или в конце цикла. Разница между этими двумя синтаксисами связана с моментом, когда оценивается условие. В первом синтаксисе содержимое цикла может вообще не выполняться. Во втором содержимое цикла всегда выполняется (как минимум один раз).

б) Этот пример демонстрирует цикл Do…While с первым синтаксисом:

1. Вставьте модуль в редактор VBA.

2. Создайте процедуру и назовите её DoWhileDemo().

3. Введите следующий код процедуры:

Sub DoWhileDemo()

Do While Not IsEmpty(ActiveCell)

ActiveCell.Value = 0

ActiveCell.Offset(1, 0).Select

Loop

End Sub

4. Запустите процедуру на выполнение и убедитесь в том, что она работает. Данная процедура использует активную ячейку как точку отчета и просматривает значения вниз по столбцу, вставляя ноль в активную ячейку. При каждом повторении цикла активной становится следующая ячейка в столбце. Цикл продолжается, пока функция VBA IsEmpty не определит, что активная ячейка пуста.

в) Далее покажем работу второго синтаксиса цикла Do…While. Цикл всегда будет выполнен хотя бы один раз, даже если исходно активная ячейка пуста:

1. Вставьте модуль в редактор VBA.

2. Создайте процедуру и назовите её DoWhileDemo1().

3. Введите следующий код процедуры:

Sub DoWhileDemo1()

Do

ActiveCell.Value = 0

ActiveCell.Offset(1, 0).Select

Loop While Not IsEmpty(ActiveCell)

End Sub

4. Запустите процедуру на выполнение и убедитесь в том, что она работает. Данная процедура будет выполняться хотя бы один раз, даже если исходно активная ячейка пуста.

г) Ниже следует еще один пример цикла Do…While. Эта процедура открывает текстовый файл, считывает каждую строку, преобразует текст в верхний регистр, а затем сохраняет его на активном листе, начиная с ячейки А1, и продолжает перемещаться вниз по столбцу. Представленная процедура использует функцию VBA EOF, возвращающую True, если достигнут конец файла. Последний оператор закрывает текстовый файл.

Откройте Блокнот и запишите в нем следующий текст: «ООП - это программирование, направленное на объекты».

2. Сохраните файл в папке Мои документы под названием ООП.txt.

3. Вставьте модуль в редактор VBA Ms Excel.

4. Создайте процедуру и назовите её DoWhileDemo2().

5. Введите следующий код процедуры:

Sub DoWhileDemo2()

Open "c:\Мои докуметны\ООП.txt " For Input As #1

LineCt = 0

Do While Not EOF(1)

Line Input #1, LineOfText

Range("A1").Offset(LineCt, 0) = UCase(LineOfText)

LineCt = LineCt + 1

Loop

Close #1

End Sub

6. Запустите процедуру на выполнение и убедитесь в том, что она работает. При этом текст, набранный в программе Блокнот, отобразится в ячейке А1.

III. Создание процедуры с использованием конструкции Do…Until.

1. В существующем модуле измените тело и название процедуры DoUntilDemo()., приведенной ниже:

Sub DoUntilDemo()

Open "c:\Мои документы\ООП.txt " For Input As #1

LineCt = 0

Do Until EOF(1)

Line Input #1, LineOfText

Range("A1").Offset(LineCt, 0) = UCase(LineOfText)

LineCt = LineCt + 1

Loop

Close #1

End Sub

2. Запустите процедуру на выполнение и убедитесь в том, что она работает. При этом текст, набранный в программе Блокнот, отобразится в ячейке А1.

Примечание: Пример, приводимый ранее, был продемонстрирован для цикла Do…While, но теперь он изменен для иллюстрации возможностей цикла Do…Until. Единственное отличие - строка с оператором Do. Этот пример делает программу несколько понятнее, так как не используется отрицание, необходимое в примере Do…While.

Самостоятельная работа.

1. К задаче напишите процедуру на использование оператора For…Next.

Задача: Найти сумму целых чисел от 1 до 50. В этом примере, описав, переменные счёт и сумма как целочисленные, обнуляется значение переменной сумма. Для чего это делается? Мы берём произвольную ячейку памяти компьютера и должны быть уверены в том, что в ней ничего не содержится. Ведь в цикле будет выполняться оператор сумма = сумма + счёт, то есть к тому что было в ячейке сумма прибавляется значение переменной счёт. И мы должны знать, что предварительно туда занесёно значение нуля. В результате запуска процедуры на выполнение Вы получите ответ: 1275.

2. Измените тело процедуры в п.1 самостоятельной работы, используя оператор Do While.

Задача: Найти сумму целых чисел от 1 до 50. В цикле с оператором For ответом было число 1275. Что изменится в программе, если применить оператор Do While? Прежде всего, надо позаботиться о том, чтобы какая-нибудь переменная менялась в цикле от 1 до 50. Ведь такой величины как параметр цикла нет в конструкции Do While - Loop. В нашем примере это будет переменная K. Задав в качестве условия выхода из цикла k <> 50, и применяя в цикле, оператор sum = sum + k мы просуммируем все 50 слагаемых и должны получить в ответе 1275.

Контрольные вопросы.

Дайте определение циклическому алгоритму?

Что такое цикл?

Для чего предназначен оператор For…Next?

Для чего предназначен Step?

Для чего предназначен оператор Do…While?

Для чего предназначен оператор Do…Until?

Для чего предназначен оператор InputBox?

Лабораторная работа №6

Тема: Разработка пользовательских приложений на языке VBA в Excel. Работа с UserForm и элементами управления

Цель: ознакомить с разработкой пользовательских приложений.

Задачи: - научить проектировать простые пользовательские формы;

- научить проектировать сложные пользовательские формы.

Основные понятия

Большинство приложений, созданных в VBA в Excel, работают в интерактивном режиме. На экран выводится информация, предназначенная для пользователя программы, и ожидается его ответная реакция в виде ввода данных или команд. Интерактивное приложение в VBA создается на базе формы, являющейся, как правило, основным окном интерфейса, с элементами управления, позволяющими осуществлять взаимодействие с пользователями.

В VBA при создании форм разработчик использует конструктор форм. Конструктор форм предназначен для самостоятельной разработки формы с заданными свойствами.

ЗАДАНИЯ

I. Создать простую форму для вывода справочной информации.

II. Создать простую форму для нахождения процента от введенного числа.

III. Создать сложную форму для вычисления выбранного арифметического действия к выделенным числам.

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

V. Разработать сложное приложение, которое бы создавало базу данных для регистрации вкладов.

Технология работы

I. Создание простой формы для вывода справочной информации.

Запустите редактор VBA.

2. Разработайте пользовательскую форму для определения видов контроля по дисциплинам «Информатика», «Математика» и «Экономтеория», как показано на рисунке 6.1.

Рисунок 6.1 - Законченный вид формы

3. Для того чтобы написать процедуру обработки события нажатия кнопки «Информатика», дважды щелкните по ней. Активизируется модуль UserForm1, в котором введите процедуру:

Private Sub CommandButton1_Click()

TextBox1.Text="Экзамен. Компьютерное тестирование"

End Sub

4. Для обработки событий нажатий кнопок «Математика» и «Экономтеория» в модуле UserForm1 введите следующие две процедуры:

Private Sub CommandButton2_Click()

TextBox1.Text="Экзамен. Собеседование"

End Sub

Private Sub CommandButton3_Click()

TextBox1.Text="Зачет. Тестирование"

End Sub

5. Запустите проект и проверьте его на выполнение. При нажатии кнопки с выбранной дисциплиной в текстовом поле отобразится сведения о форме контроля.

II. Создание простой формы для нахождения процента от введенного числа.

1. В редакторе VBA разработать пользовательскую форму, показанную на рисунке 6.2.

Рисунок 6.2 - Пользовательская форма на вычисление процентов

2. Для кнопки «Рассчитать» запишите следующий программный код:

Private Sub CommandButton1_Click()

Dim Result As Double

Result = 0.01 * TextBox2 * TextBox1

TextBox3.Text = Result

End Sub

3. Для кнопки «Очистить» запишите следующий программный код

Private Sub CommandButton2_Click()

TextBox1 = " "

TextBox2 = " "

TextBox3 = " "

End Sub

4. Запустите проект и проверьте его на выполнение.

III. Создание сложной формы для вычисления выбранного арифметического действия к выделенным числам.

Рис. 6.3

1. В редакторе VBA разработать пользовательскую форму, показанную на рисунке 6.3, где для изображения:

чисел используется элемент Список (ListBox);

Вычислить, Отмена - элемент Кнопка (CommandButton);

Операция - элемент Рамка (Frame);

Сумма, Произведение, Среднее - элемент Переключатель (OptionButton);

Результат - элемент Надпись (Label );

для отображения вычисляемого значения - элемент TextBox (Текстовое поле).

2. На кнопку «Вычислить» введите следующую программу:

Private Sub CommandButton1_Click()

Dim i As Integer

Dim n As Integer

Dim Сумма As Double

Dim Произведение As Double

Dim Среднее As Double

Dim Результат As Double

If OptionButton1.Value = True Then

Сумма = 0

With ListBox1

For i = 0 To.ListCount - 1

If.Selected(i) = True Then

Сумма = Сумма +.List(i)

End If

Next i

End With

Результат = Сумма

End If

If OptionButton2.Value = True Then

Произведение = 1

With ListBox1

For i = 0 To.ListCount - 1

If.Selected(i) = True Then

Произведение = Произведение *.List(i)

End If

Next i

End With

Результат = Произведение

End If

If OptionButton3.Value = True Then

Среднее = 0

n = 0

With ListBox1

For i = 0 To.ListCount - 1

If.Selected(i) = True Then

n = n + 1

Среднее = Среднее +.List(i)

End If

Next i

End With

Результат = Среднее / n

End If

TextBox1.Text = CStr(Format(Результат, "Fixed"))

End Sub

3. Для кнопки «Отмена» напишите следующую процедуру:

Private Sub CommandButton2_Click()

UserForm1.Hide

End Sub

4. Для инициализации формы введите следующую процедуру:

Private Sub UserForm_Initialize()

With ListBox1

.List = Array(1, 2, 3, 4, 5, 6, 7, 8, 10)

.ListIndex = 0

.MultiSelect = fmMultiSelectMulti

End With

TextBox1.Enabled = False

End Sub

5. Запустите проект на выполнение. При этом в группе Операция следует установить один из переключателей: Сумма, Произведение или Среднее, чтобы указать, какая операция будет выполняться над выбранными числами. Нажатие кнопки «Вычислить» должно привести к выполнению операции и выводу результата в поле Результат.

IV. Разработка приложения, которое будет содержать пользовательскую форму для ввода названия организации и выбора её типа и вывода данных на рабочий лист, показанную на рисунке 6.4.

Рисунок 6.4 - Пользовательская форма

1. Откройте рабочую книгу и нажмите комбинацию клавиш <Alt+F11> для запуска VBA;

2. Выберите вкладку Insert - UserForm, чтобы запустить пустое диалоговое окно;

3. Свойства Caption объекта UserForm будет иметь значение по умолчанию - UserForm1. Воспользуйтесь окном Свойств (Properties) для того, чтобы изменить значение свойства Caption на “Вывод названия организации” (если окно Свойств (Properties) не отображается на экране, нажмите клавишу <F4>);

4. Создайте форму пользователя и разместите на ней элементы управления, как показано на рис. 6.4;

Дважды щелкните по кнопке «Отмена» и введите следующую процедуру:

Private Sub CommandButton1_Click()`начало процедуры

Unload UserForm1 `закрытие формы

End Sub `конец процедуры

5. Данная процедура выполняется после щелчка пользователем по кнопке «Отмена». Она вызывает выгрузку формы UserForm из памяти;

6. Нажмите комбинацию клавиш <Shift+F7>, чтобы повторно отобразить объект UserForm1;

7. Дважды щелкните по кнопке «Ok» и введите следующую процедуру:

Private Sub CommandButton1_Click() `начало процедуры

Sheets("Лист1").Activate `активизация рабочего листа

(связь с рабочим листом)

NextRow = _

Application.WorksheetFunction.CountA(Range("A:A")) + 1 `определение пустой строки в рабочем листе, здесь Count (функция СЧЕТ), Range("A:A")) + 1 - выделяет диапазон ячеек, начиная с ячейки А1 с шагом +1

Cells(NextRow, 1) = TextBox1.Text `передача имени

If OptionButton1 Then Cells(NextRow, 2) = "Фирма"

If OptionButton2 Then Cells(NextRow, 2) = "Корпорация"

If OptionButton3 Then Cells(NextRow, 2) = "Частное предприятие"

`проверка условия

TextBox1.Text = "" 'Очистка элементов управления для следующих записей

OptionUnknown = True

TextBox1.SetFocus

If TextBox1.Text = "" Then

MsgBox "Введите название организации"

TextBox1.SetFocus

Exit Sub

End If 'Проверка введения имени

End Sub

8. Перейдите на рабочий лист MS Excel и поместите элемент управления Кнопка панели элементов Visual Basic, после чего появиться диалоговое окно «Назначить макрос объекту», выберите вкладку «Создать». В окне модуля введите код:

Sub Кнопка1_Щелкнуть()`начало процедуры

UserForm1.Show`открытие формы

End Sub `конец процедуры

Поместите на ней надпись «Нажать» (рис. 6.5). С помощью этой кнопки будет вызываться разрабатываемое диалоговое окно, показанное на рисунке 6.4.

Рисунок 6.5 - Законченный вид рабочего листа

9. Запустите проект и поверьте его на выполнение.

V. Разработка сложного приложения, которое создает базу данных для регистрации вкладов.

1. В редакторе VBA разработать пользовательскую форму, показанную на рисунке 6.6.

Рисунок 6.6 - Форма диалогового окна для программы регистрации вкладов

2. Элементам управления присвойте имена и свойства в соответствии таблицей 6.1.

Таблица 6.1

Элемент

Имя

Свойства

События

Форма

UserForm

1.Initialize

2.Устанавливает количество элементов в списке.

3.Присваивает значения элементам списка.

Форма

Вклад

Caption

Прием вклада

4.Изменяет текст в строке заголовка приложения.

5.Закрывает сроку формул.

6.Устанавливает всплывающие подсказки.

7.Формирует заголовки столбцов таблицы, обращаясь к специально созданной процедуре.

Кнопка

Принять

Caption

Принять

Click

Вычисляет номер первой свободной строки.

1.Поверяет, введены ли данные в поля формы.

2.Записывает данные из элементов управления Формы в ячейки рабочего листа

Кнопка

Отмена

Caption

Отмена

Click

1.Вычисляет номер последней строки таблицы.

2. Удаляет содержимое из ячеек этой строки.

Кнопка

Выход

Caption

Выход

Click

Завершает выполнение программы

Поле

Фамилия

Поле

Сумма

вклада

Поле со списком

Тип

Вклада

Переключатели

Северное

Центральное

Восточное

Поле

Примечание

3. Рабочему листу Excel c именем «Лист1» присвойте имя «Меню», а рабочему листу «Лист2» - «База».

4. На рабочем листе с именем «Меню» поместите элемент управления Кнопка панели элементов Visual Basic и поместите на ней надпись «Прием вклада». С помощью этой кнопки будет вызываться разрабатываемое диалоговое окно.

5. Для кнопки «Прием вклада» запишите код:

Private Sub CommandButton1_Click()

'Вызываем процедуру формирования заголовков БД

ЗаголовокРабочегоЛиста

End Sub

6. Для формирования заголовков столбцов базы данных создайте процедуру Sub пользователя, которая будет вызываться из процедуры обработки кнопки рабочего листа Прием вклада. Для этого выполните команду меню Visual Basic Вставка, Процедура и присвойте ей имя ЗагловокРабочегоЛиста. Процедура выполняет следующие действия:

проверяет, заполнена ли первая строка - строка заголовков столбцов (по назначению ячейки А1), если заполнена, то не выполняет никаких действий, завершает работу и передает управление в точку вызова;

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

В окне редактирования кода введите текст программы этой процедуры:

Private Sub ЗаголовокРабочегоЛиста()

'Активизируем рабочий лист

Application.Worksheets("База").Activate

'Проверяем, есть ли названия столбцов БД

With ActiveSheet

If.Range("A1").Value = "Фамилия" Then

.Range("A2").Select

Else

ActiveSheet.Cells.Clear

'Записываем названия столбцов

Range("A1:E1").Value = Array("Фамилия", "Тип", "Сумма", "Отделение", "Примечание")

'Фиксируем первую строку

.Range("2:2").Select

ActiveWindow.FreezePanes = True

.Range("A2").Select

'Вставляем комментарии

.Range("A1").AddComment

.Range("A1").Comment.Visible = False

.Range("A1").Comment.Text Text:="Фамилия клиента"

.Range("B1").AddComment

.Range("B1").Comment.Visible = False

.Range("B1").Comment.Text Text:="Тип вклада"

.Range("C1").AddComment

.Range("C1").Comment.Visible = False

.Range("C1").Comment.Text Text:="Сумма вклада"

.Range("D1").AddComment

.Range("D1").Comment.Visible = False

.Range("D1").Comment.Text Text:="Отделение банка"

End If

End With

'Вызываем элемент Форма с именем Вклад

Вклад.Show

End Sub

В процедуру обработки события Initialize формы введите код:

Private Sub UserForm_Initialize()

With Вклад

.Северное.Value = True

'Установим длину элемента Список

.ТипВклада.ListRows = 3

'Присвоим значения элементами списка

.ТипВклада.List = Array("Срочный", "Депозит", "Текущий")

'Установим фокус элементу Кнопка с именем Принять

.Принять.SetFocus

End With

End Sub

В процедуру обработки события Initialize элемента Форма с именем «Вклад» запишите код:

Private Sub Вклад_Initialize()

'Изменим название в строке заголовка приложения

Application.Caption = "Регистрация. База данных Банк"

'Изменим название в строке заголовка

Application.DisplayFormulaBar = False

With Принять

.Default = True

'Установка всплывающей подсказки

.ControlTipText = "Ввод данных в базу данных"

End With

With Отмена

.Cancel = True

.ControlTipText = "Кнопка отмены"

End With

ЗаголовокРабочегоЛиста

End Sub

В процедуру обработки события Click элемента Кнопка с именем «Принять» введите код:

Private Sub Принять_Click()

“Декларадция переменных

Dim Фамилия As String

Dim ТипВклада As String

Dim СуммаВклада As Double

Dim Отделение As String

Dim Примечание As String

Dim НомерСтроки As Integer

'Вычисление номера первой свободной строки

НомерСтроки=_

Application.CountA (ActiveSheet.Columns(1)) + 1

With Вклад

If.Фамилия.Text = "" Then

MsgBox "Вы забыли указать фамилию", vbExclamation

Exit Sub

End If

If.ТипВклада.Value = "" Then

MsgBox "Вы забыли указать тип вклада", vbExclamation

Exit Sub

End If

TextBox1 =.Фамилия.Text

ТипВклада =.ТипВклада.Value

If.Северное.Value = True Then Отделение = "Северное"

If.Центральное.Value = True Then Отделение = "Центральное"

If.Восточное.Value = True Then Отделение = "Восточное"

If IsNumeric(.СуммаВклада.Text) = False Then

MsgBox "Введена неверная сумма", vbExclamation

Exit Sub

End If

СуммаВклада = CDbl(.СуммаВклада.Text)

Примечание =.Примечание.Text

End With

'Записываем данные в ячейки рабочего листа

With ActiveSheet

.Cells(НомерСтроки, 1).Value = Фамилия

.Cells(НомерСтроки, 2).Value = ТипВклада

.Cells(НомерСтроки, 3).Value = СуммаВклада

.Cells(НомерСтроки, 4).Value = Отделение

.Cells(НомерСтроки, 5).Value = Примечание

End With

End Sub

В процедуру обработки события Click элемента Кнопка с именем «Отмена» поместите код:

Private Sub Отмена_Click()

Dim НомерСтроки As Integer

"Вычисляем номер последней строки

НомерСтроки = Application.CountA(ActiveSheet.Columns(1))

'Удаляем содержимое ячеек строки

With ActiveSheet

.Cells(НомерСтроки, 1).Value = ""

.Cells(НомерСтроки, 2).Value = ""

.Cells(НомерСтроки, 3).Value = ""

.Cells(НомерСтроки, 4).Value = ""

.Cells(НомерСтроки, 5).Value = ""

End With

End Sub

В процедуру обработки события Click элемента Кнопка с именем «Выход» поместите код:

Private Sub Выход_Click()

'Активизируем рабочий лист с именем Меню

Sheets("Меню").Activate

'Завершаем выполнение программы

End

End Sub

Перейдите в приложение MS Excel, активизируйте рабочий лист Меню, изображенный на рисунке 6.7 и щелкните на кнопке «Прием вклада». Программа должна активизироваться, и на экране появиться созданное диалоговое окно (рисунок 6.6).

Рисунок 6.7 - Законченный вид листа «Меню»

Отладьте и проверьте работу программы во всех режимах.

Сохраните проект.

Самостоятельная работа.

1. В примере п.2 выполните изменения в теле процедуры: выведите результат вычислений в ячейку С1.

2. На рабочем листе создайте кнопку для вывода формы на экран.

Контрольные вопросы.

1. Как присвоить текстовому полю (TextBox) какое-либо значение?

2. Какая панель инструментов используется для размещения элементов управления на рабочем листе?

3. Как вызвать панель инструментов Формы на рабочий лист MS Excel?

4. Что означают события: Click, Initialize и методы: Show, Unload, Hide?

5. Что означает свойство MultiSelect?

Список рекомендуемой литературы

1. Экономическая информатика: Учебник/под ред. В.П. Косарева. - 2-е изд., перераб. и доп. - М.: Финансы и статистика, 2004. - 259с.: ил.

2. Дж. Уокенбах. Профессиональное программирование на VBA в Excel 2002.: пер. с англ.. - М.: Издательский дом «Вильямс», 2003. - 784 с.: ил.

3. Симонович С. Занимательное программирование на Visuаl Basic. М.: АСТ - ПРЕСС КНИГА: Инфорком-Пресс. 2002. - 320 с.

4. Э. Бунин. Excel Visual Basic для приложений (серия «Без проблем!»): Пер. с англ. - М.: Восточная книжная компания, 1996. - 352 с.: ил.

5. Волченков Н.Г. Программирование на Visual Basic 6: в 3-х ч. Часть 3. - М.: ИНФРА-М, 2002. - 238 с.

Размещено на Allbest.ru


Подобные документы

  • Создание кнопки панели инструментов для выполнения макроса. Практический пример создания таблицы значений функций. Использование оператора Select Case. Создание процедуры с использованием операторов цикла For/Next и Do/Loop. Оператор InputBox, массив.

    контрольная работа [501,8 K], добавлен 06.12.2013

  • Пакет Microsoft Office. Электронная таблица MS Excel. Создание экранной формы и ввод данных. Формулы и функции. Пояснение пользовательских функций MS Excel. Физическая постановка задач. Задание граничных условий для допустимых значений переменных.

    курсовая работа [3,4 M], добавлен 07.06.2015

  • Понятие и возможности MS Excel. Основные элементы его окна. Возможные ошибки при использовании функций в формулах. Структура электронных таблиц. Анализ данных в Microsoft Excel. Использование сценариев электронных таблиц с их практическим применением.

    курсовая работа [304,3 K], добавлен 09.12.2009

  • Макрос как запрограммированная последовательность действий, записанная на языке программирования Visual Basic for Applications. Рассмотрение особенностей решения данных задач в Excel. Характеристика проблем создания пользовательских функций на VBA.

    курсовая работа [1,8 M], добавлен 15.01.2015

  • Назначение и составляющие формул, правила их записи и копирования. Использование математических, статистических и логических функций, функций даты и времени в MS Excel. Виды и запись ссылок табличного процессора, технология их ввода и копирования.

    презентация [193,2 K], добавлен 12.12.2012

  • Характеристика языков программирования: краткая история, хронология. Основные виды языков программирования: ассемблер; бейсик. Создание и использование формул в Excel. Применение операторов в формулах. Использование функций в Excel. Сайт дома отдыха.

    отчет по практике [139,1 K], добавлен 03.06.2011

  • Создание и совершенствование различных программ и приложений. Основные понятия, используемые при работе с функциями Excel. Создание базы данных на основе электронных таблиц, построение различных графиков и диаграмм. Обработка электронной информации.

    контрольная работа [39,7 K], добавлен 01.03.2017

  • Составление отчетной ведомости "Магазины" в Excel 2013. Работа с таблицами семейства Microsoft Office. Построение круговой диаграммы и гистограммы, графиков. Разработка процедур для табулирования функций. Программирование функций пользователя на VBA.

    курсовая работа [2,6 M], добавлен 03.04.2014

  • Предназначение программы Microsoft Excel, основные возможности электронных таблиц и способы их создания. Элементы рабочего окна, принципы форматирования содержимого ячеек. Использование формул для сравнения данных, вычислений, создания ссылок на ячейки.

    курсовая работа [1,2 M], добавлен 13.02.2012

  • Возможность использования формул и функций в MS Excel. Относительные и абсолютные ссылки. Типы операторов. Порядок выполнения действий в формулах. Создание формулы с вложением функций. Формирование и заполнение ведомости расхода горючего водителем.

    контрольная работа [55,7 K], добавлен 25.04.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.