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

Задание 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) обеспечивает ввод информации.

Функции обработки строк

  1. Asc – возвращает ASC|| - код начальной буквы строки.

Asc (строка)

Если строка пустая, то возникает ошибка выполнения.

  1. Chr – преобразует ASC|| код в строку.

Chr (код)

  1. Lcase – преобразует все буквы строки в строчные.

Lcase (строка)

  1. Ucase – преобразует все буквы в заглавные.

Ucase (строка)

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

Left (строка, длина)

  1. Right – возвращает строку, состоящую из заданного числа последовательных символов исходной строки.

Left (строка, длина)

  1. Mid – возвращает указанную часть строки Mid (строка, стартовая позиция [, длина])

Если 3 параметр не указан, то возвращаются все символы от стартовой позиции до конца строки.

  1. Len – возвращает длину строки.

Len (строка)

  1. LTrim – возвращает копию строки без пробелов в начале.

Ltrim – (строка)

  1. RTrim – удаляет пробелы в конце.

  2. Trim – удаляет пробелы как в начале, так и в конце.

  3. Space – создаёт строку, состоящую из указанного числа пробелов.

Space (число)

  1. String - создаёт строку, состоящую из указанного числа повторений одного и того же символа.

String (количество, символ)

  1. StrComp – сравнивает 2 строки

StrComp (строка1, строка2, способ сравнения)

  1. InStr – возвращает позицию 1 вхождения одной строки внутри другой.

InStr (строка1, строка 2)

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

Вариант 1

В символьной строке удалить все повторяющиеся слова и вывести полученную строку на экран.

Вариант 2

В символьной строке каждое слово НН заменить на слово Нижний Новгород и полученную строку вывести на экран.

Вариант 3

Определить, содержит ли строка слова - полиндромы (слова, читающиеся одинаково слева направо и справа налево) и если содержит, то вывести их на экран.

Вариант 4

Символьная строка представляет собой запись числа, записанного в некоторой произвольной системе счисления. Основание системы записывается десятичным числом через подчеркивание после последней цифры числа. Например, 1101_2 число 1101 в двоичной системе счисления. Перевести введенное число в десятичную систему счисления и вывести результат на экран.

Вариант 5

Написать программу, шифрующую и расшифровывающую сообщение заменой каждой буквы на букву циклически сдвинутую на N позиций в алфавите.

Вариант 6

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

Вариант 7

Символьная строка представляет собой шестнадцатеричную запись числа. Перевести это число в двоичную систему счисления.

Вариант 8

Отсортировать слова во введенной символьной строке по возрастанию длины слов. Результат вывести на экран.

Вариант 9

Отсортировать слова во введенной символьной строке по алфавиту. Результат вывести на экран.

Вариант 10

Введенную символьную строку разделить на подстроки заданной длины. Результирующие подстроки вывести в столбик на экран.

Задание 4

Тема: Функции времени и даты.

Функции времени и даты

Дата должна быть заключена между #.

VBA распознаёт следующие форматы

#January 1, 1998#

#Jan 1 2003#

#1 – Jan – 03#

#1 Jan 2003#

#1 1 03#

  1. Date – возвращает 8 символов в формате mm.dd.yy – текущую системную дату.

  2. Time – возвращает 8 символов в формате hh.mm.ss – текущее системное время.

  3. Now – возвращает системную дату и системное время компьютера.

  4. Hour Minute Second – возвращает значение типа Variant, содержащее целое число, которое представляет часы, минуты, секунды в значении времени.

  5. Day Month Year – возвращает значение типа Variant, содержащее целое число, которое представляет день, месяц, год в значении даты.

  6. Weekday -– возвращает значение типа Variant, содержащее целое число, которое представляет день недели.

Weekday (date, [firstdayofweek])

  1. Timer - возвращает значение типа Single, которое представляет число секунд, прошедших после полуночи.

  2. DateDiff - возвращает значение типа Variant, указывающее число временных интервалов между двумя датами.

DateDiff(interval, date1,date2)

  1. DateAdd - возвращает значение типа Variant, содержащее дату, к которой добавлен указанный временной интервал.

DateAdd (interval, number, date)

  1. TimeSerial (час,мин,сек) - возвращает значение типа Variant, содержащее значение времени, соответствующее указанным часу, минуте и секунде.

  2. DateSerial (год, месяц, день)

  3. TimeValue – преобразует строку в формат времени.

  4. DatePart – возвращает указанный компонент даты.

DatePart (interval, date, [, firstdayofweek])

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]