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

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Нижегородский государственный университет

им. Н.И.Лобачевского

М.В. Маркина, В.В. Денисов, О.Г. Савихин

Практические задания по созданию

пользовательских приложений

с помощью VBA

Учебно-методическое пособие

Рекомендовано методической комиссией

механико-математического факультета для студентов высших

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

080116 «Математические методы в экономике»

НИЖНИЙ НОВГОРОД

2010

Задание 1

Тема: Создание приложений с помощью MacroRecorder

MacroRecorder – транслятор, создающий программу (макрос) на языке VBA, которая является результатом перевода на язык VBA действий пользователя с момента запуска MacroRecorder до окончания записи макроса.

Макрос может быть создан в абсолютных и относительных ссылках.

Абсолютная ссылка – указывает на ячейку или группу ячеек, безотносительно к активной ячейке электронной таблицы.

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

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

  1. с помощью команд меню (Сервис/ Макрос/ Макросы, выбрать из списка имя нужного макроса, Выполнить);

  2. с помощью нажатия комбинации клавиш клавиатуры, указанной при создании макроса;

  3. с помощью назначения макроса кнопке на панели инструментов (Вид/ Панели инструментов/ Настройка, закладка Команды, выбрать вид кнопки из списка Макросы, перетащить мышью ее на панель инструментов, выполнить команду “Изменить выделенный объект/ Назначить макрос”;

  4. с помощью назначения кнопки в поле рабочего листа (Вид/ Панель инструментов/ Формы, мышью перетащить кнопку из появившейся панели в поле рабочего листа, назначить макрос);

  5. с помощью вставки новой строки в существующее меню (Вид/ Панели инструментов/ Настройка, закладка Команды, выбрать строку из списка Новое меню, мышью перетащить ее в строку основного меню, выполнить команду Изменить выделенный объект/ Назначить макрос).

Варианты задания 1

Вариант 1

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

Вариант 2

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

Вариант 3

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

Вариант 4

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

Вариант 5

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

Вариант 6

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

Вариант 7

Создать макрос, строящий шаблон таблицы соответствия члена знакопеременного числового ряда от его порядкового номера (Числовой ряд должен содержать факториал). Макрос должен по таблице строить диаграмму зависимости an от n.

Вариант 8

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

an от (n, x).

Дополнительные задание для всех вариантов.

Отредактировать записанный макрос:

1. Переименовать полученную диаграмму, вставив в макрос вручную две строчки:

k = ActiveSheet.Shapes.Count ‘ Свойство Count объекта Shapes

‘ дает количество диаграмм на

‘ активном листе.

ActiveSheet.Shapes(k).Name = "MyDiagr" ‘Свойство Name определяет имя

‘ объекта Shapes с порядковым

‘ номером k.

2. Переименовать все обращения к диаграмме (если такие существуют) в макросе в соответствии с новым присвоенным ей именем.

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

Задание 2

Тема: Создание пользовательских функций.

VBA предоставляет возможность пользователю создавать собственные функции, работать с которыми на рабочем листе можно при помощи мастера функций точно так же, как и с любой встроенной функцией. Для создания такой функции необходимо воспользоваться командами Excel Сервис/ Макрос/ Редактор Visual Basic и командами редактора Вставка/ Модуль. Программа на VBA должна быть оформлена в виде подпрограммы Function. Вызов собственной пользовательской функции осуществляется командами Вставка/ Функция, а затем выбором категории Функции определенные пользователем.

Варианты задания 2

Вариант 1

Найти наименьшее общее кратное двух натуральных чисел.

Вариант 2

Найти наибольший общий делитель двух натуральных чисел.

Вариант 3

Определить количество цифр в натуральном числе.

Вариант 4

Найти сумму цифр натурального числа.

Вариант 5

Перевести заданное в двоичной системе счисление число в восьмиричную систему .

Вариант 6

Даны три числа. Определить, можно ли построить треугольник с длинами сторон равными этим числам.

Вариант 7

Для произвольных коэффициентов квадратного уравнения определить количество корней этого уравнения

Вариант 8

Определить, равна ли сумма двух первых цифр заданного четырехзначного числа сумме двух его последних цифр.

Вариант 9

Определить, есть ли среди цифр заданного пятизначного числа одинаковые.

Вариант 10

Перевести произвольное десятичное целое число в в двоичную систему.

Задание 3

Тема: Работа со встроенными диалоговыми окнами. Функции обработки строк

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