Макрос в excel лабораторная работа

ЛАБОРАТОРНАЯ
РАБОТА № 15

Цель работы:
ознакомиться с понятиями объекта и
переменной в Visual
Basic
for
Application,
получить практические навыки по созданию
макросов в Excel с использованием процедур
и функций.

Цель работы

1.
Изучите теоретические сведения.

2. Создайте макрос
для изменения свойства ячейки (шрифт,
цвет).

3. Создайте макрос
для определения силы тока по заданному
напряжению и сопротивлению элемента.
Попробуйте по-разному задать типы
переменных, используемых в программе.

4. Создайте макрос
для заданного преподавателем варианта.

5.
Сохраните файл с созданными макросами.

5. Перепишите текст
макросов в отчет.

6. Закройте
Visual Basic и
Microsoft Excel.

7. Ответьте на
контрольные вопросы по указанию
преподавателя.

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

1.
Что входит в понятие объект?

2.
Чем отличаются типы переменных?

3.
Что означает тип переменной Variant?

4.
Что входит в понятие функция?

5.
Что входит в понятие процедура?

6.
Чем отличаются процедуры от функций?

Ответы на контрольные вопросы

1.
Объект

‑ это то, чем Вы управляете с помощью
программы на языке Visual
Basic,
например кнопка, рабочий лист, рабочая
книга, диаграмма, ячейка таблицы и т.д.
Объект — это базовый элемент для
построения любого приложения для Excel.
Visual
Basic
for
Application
предлагает большой набор объектов, с
помощью которых Вы можете быстро создать
сложную программу.

Каждый
объект обладает определенными свойствами.
Например, диалог в данный момент на
экране может быть видимым или невидимым.
Вы можете узнать текущее состояние
диалога с помощью свойства Visible
(Видимый).
Еще один пример свойства объекта ‑
это шрифт, используемый для отображения
информации в ячейке рабочего листа.
Изменяя свойства, Вы можете изменять
характеристики объекта. Не
все свойства могут быть установлены,
некоторые носят информационный характер
и могут только читаться. Синтаксис
установки значения свойства объекта
выглядит следующим образом:

Объект — Свойство
— Выражение

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

Sub
ChangeFont()

‘ Установка размера
шрифта

Selection.Font.Size=16

‘ Установка
полужирного шрифта

Selection.Font.Bold=true

End
Sub

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

Объект
самого высокого уровня — это объект
Application
(Приложение).
Если Вы изменяете свойства этого объекта
или вызываете его методы, то результат
применяется к текущей работе Excel.
Например, Вы можете завершить работу с
Excel
с помощью метода Quit
(Выход)
объекта Application.

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

2. Переменные, типы. Все переменные в языке Visual Basic имеют тип. Тип указывает, что может хранить переменная: целое число, строку, дату и т.П.

Для объявления
типа переменной необходимо написать:

Dim
perem
As
Type

Вместо Dim можно
использовать Public и Private. Переменная,
объявленная с помощью Public, может
использоваться макросами из других
модулей и форм, а переменная, объявленная
как Private или Dim, может быть использована
только в том модуле, где была объявлена.

При
составлении программы на языке Visual
Basic
for
Application
совсем не обязательно объявлять
переменные до начала их использования
в программе. Как только в программе
встретится присвоение новой переменной,
Visual
Basic
сразу создаст переменную, тип которой
будет совместим с типом присваиваемого
выражения.

3.
Переменная
Variant
По умолчанию, если не указан тип
переменной, то будет использоваться
тип Variant
(Вариант).
Переменные этого типа могут хранить
все, что в них поместят, т.е. их тип
изменяется в зависимости от последнего
присвоения.

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

4.
Функция

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

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

Sub Main()

Dim a As Integer

Dim c As Integer

Dim n As Integer

c
= InputBox(«Введите
число:»)

n
= InputBox(«Введите
степень:»)

‘ Переменной
а присваивается значение функции stepen

a = stepen (c, n)

MsgBox a

End Sub

Function stepen (f As Integer,
e As Integer) As Integer

stepen
= f
^ e

End
Function

5.
Процедура

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

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

7.
Вызов
процедур и функций
.
Начинается
с заголовка Sub,
за
которым следуют имя процедуры и список
параметров, а заканчивается оператором
End
Sub.

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

Sub Main()

Dim a As Integer

Dim c As Integer

Dim n As Integer

c
= InputBox(«Введите
число:»)

n
= InputBox(«Введите
степень:»)

‘ Вызов
процедуры stepen
и передача переменных a,
c,
n

stepen a, c, n

MsgBox a

End Sub

Sub stepen (d As Integer, f As
Integer, e As Integer)

d
= f
^ e

End
Sub

ЛАБОРАТОРНАЯ
РАБОТА № 16

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

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

План

1.Введение.

2.Начало пути.

3.Редактирование, удаление, переименование и назначение макросов.

4.Примеры макросов.

5.Заключение.

1. Введение.

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

Макрос записывается на языке Visual Basic for Applications. Текст макроса можно вызывать для редактирования.

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

Создание и редактирование макросов

Назначение макроса клавише быстрого вызова и пункту основного меню

Назначение макроса графическому объекту и кнопке пользователя

Запись новых действий в существующий макрос

Создание кнопки для вызова макроса

2. Начало пути.

Создание макросов

К часто повторяющимся действиям можно отнести выбор нужного формата. Процедуру создания макросов мы рассмотрим на примере макроса “Число”, который будет устанавливать для выделенной области числовой формат. Требуемый числовой формат создадим заранее в категории форматов Все форматы.

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

Выполните команду Сервис | Запись макроса | Начать запись. Появится окно диалога “Запись макроса”.

Введите в поле ввода Имя макроса название создаваемого макроса — Число. Помимо стандартной информации (когда и кем был записан макрос) вы можете ввести в поле ввода Описание краткое описание назначения макроса. После этого нажмите кнопку OK. Начиная с этого момента осуществляется запись макроса. На экране появляется кнопка Остановить макрос. Если вы нажмете на ней кнопку мыши, то запись макроса будет закончена. Другим признаком режима записи макроса является появление слова “Запись” в строке состояния.

Теперь вам нужно выполнить последовательность действий, которая и будет записана в макрос. В нашем случае последовательность действий следующая: выделите ячейки, которые вы собираетесь форматировать, и нажмите Ctrl+1; в появившемся окне диалога “Формат ячеек” выберите вкладку “Число”, а на ней категорию форматов Все форматы. Из появившегося списка форматных кодов выберите требуемый код, после чего нажмите кнопку OK.

В заключение вам остается завершить запись макроса. Кроме нажатия на кнопку Остановить макрос вы можете воспользоваться альтернативным способом: в списке опций пункта основного меню Сервис выберите Запись макроса, а затем — Остановить запись .

Если кнопка Остановить макрос отсутствует с экрана, то ее легко можно восстановить. Для этого нажмите правую кнопку мыши на любой панели инструментов и в появившемся списке выберите пункт Настройка. Появится список категорий кнопок. Выберите среди них категорию Макрос. Появится набор кнопок, который содержит кнопку Остановить макрос. Нажмите на ней кнопку мыши и, удерживая ее нажатой, переместите кнопку на нужную вам панель или просто на экран. Для выхода из режима настройки панелей нажмите кнопку Закрыть .

После окончания записи макроса он появляется в списке макросов под именем “Число”. Для вызова макроса выполните команду Сервис | Макрос. Появится окно диалога со списком макросов. Найдите требуемый макрос и нажмите кнопку Выполнить. Результатом работы макроса “Число” будет ввод форматного кода в выделенные ячейки таблицы.

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

Назначить макросу пункт меню или клавишу быстрого вызова можно и после того как макрос создан. Для этого выполните команду Сервис | Макрос. Появится окно диалога со списком макросов. Выделите нужный и нажмите кнопку Параметры. Появится окно диалога, в котором вы можете сделать все необходимые назначения.

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

Разберем два примера макросов. Один записан в обычном режиме, а другой— с относительными ссылками, после чего сравним их работу.

Пример 1. Вывод на экран названий месяцев

При составлении различных отчетов и сводок в качестве названий строк часто используются названия месяцев. Создадим макрос, который будет выводить на экран столбец с названиями месяцев в ячейках A1:A12. Для этого выполните следующие действия:

· Установите курсор в какую-нибудь ячейку книги, за исключением A1.

· Выполните команду Сервис | Запись макроса | Начать запись. Появляется окно диалога “Запись макроса”.

· Введите в поле ввода Имя макроса название создаваемого макроса Месяц_абс. В поле ввода Описание введите текст: Вводит названия месяцев. Нажмите кнопку Параметры. Появится окно диалога “Запись макроса”.

· Введите клавишу быстрого вызова макроса. Для этого перейдите в поле ввода Ctrl, переключитесь на латинский регистр, удалите находящуюся там букву и введите букву m. После этого нажмите кнопку OK. Начиная с этого момента, осуществляется запись макроса.

· Выполните последовательность действий, которую будет выполнять макрос: установите курсор в ячейку A1; введите слово январь; поместите указатель мыши в правый нижний угол ячейки A1, при этом указатель мыши изменит вид на черный крестик; нажмите кнопку мыши и, удерживая ее нажатой, продолжите выделение до ячейки A12.

· Нажмите на кнопку Остановить макрос .

Если вы не выполните условие 1 шага, то есть курсор будет находиться в ячейке A1, то макрос будет правильно работать только в том случае, когда вы перед нажатием клавиш Ctrl+m поместите курсор в ячейку A1.

Макрос записан и теперь нажатие клавиш Ctrl+m вызовет появление в ячейках A1:A12 названий месяцев. При записи макроса мы не включали режим записи с относительными ссылками, поэтому названия месяцев будут появляться только в ячейках A1:A12. Для устранения этого неудобства предназначен режим записи с относительными ссылками.

Пример 2. Создание макроса с относительными ссылками

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

Перед созданием макроса включите режим записи с относительными ссылками. Для этого выполните следующие действия:

· Выполните команду Сервис | Запись макроса | С относительными ссылками.

· Введите в поле ввода Имя макроса название создаваемого макроса — Заголовок. В поле ввода Описание введите текст: Вводит названия компьютеров.

· Нажмите кнопку Параметры. Появится окно диалога “Запись макроса”.

· Введите наименование добавляемого пункта меню: Типы ЭВМ. Нажмите кнопку OK.

· Выполните последовательность действий, которую будет выполнять макрос: введите заголовок таблицы: Тип компьютера; нажмите клавишу Enter; введите тип 1 компьютера CP_35_SR и нажмите клавишу Tab. Аналогично введите следующие типы компьютеров CP_40_SR, CP_55_LS, CP_55_SX. Выделите четыре ячейки с введенными типами компьютеров, выберите команду Формат | Столбец, а затем команду Подгон ширины (поскольку названия типов компьютеров не умещаются полностью в ячейке).

· Нажмите на кнопку Остановить макрос .

После окончания записи макроса в меню команды Сервис появится пункт с названием Типы ЭВМ, которое мы ввели на 4 шаге.

Для выполнения макроса “Заголовок” нужно нажать кнопку мыши на пункте с названием Типы ЭВМ. В том месте таблицы, где расположен курсор, появится заголовок следующего вида: Тип компьютера CP_35_SR CP_40_SR CP_55_LS CP_55_SX

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

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

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

Одним из способов внесения изменений в записанный макрос является запись нового макроса. Однако это не всегда удобно, а часто бывает и утомительно из-за большого объема работы. В следующем примере мы изменим формат вводимых чисел в макросе “Число”.

Пример 3. Редактирование текста макроса

В этом примере вам предстоит изменить текст макроса.

Для входа в режим редактирования макроса выполните команду Сервис | Макрос. Появляется окно диалога “Макрос”, в котором после выбора нужного для редактирования макроса становятся доступными кнопки, в том числе кнопка Редактирование.

Редактировать можно и непосредственно в модуле с текстом макроса. Текст макроса “Число” расположен в модуле 1, расположенном после 16 листа рабочей книги. Используя кнопки прокрутки листов найдите модуль 1 и нажмите кнопку мыши на его ярлычке. Перед вами появится текст макроса “Число”, записанный на языке Visual Basic:

Число Макрос Форматный код “# #??” Быстрый вызов: Ctrl+x

Sub Число()

Selection.NumberFormat = “# #??”

End Sub

Первые две строки составляют комментарий, последующие — текст макроса. Редактирование сводится к тому, что вместо форматного кода “# #??” вводится форматный код “# #??,00”.

Действуя аналогичным образом, вы можете внести более серьезные изменения в текст макроса. Фактически вы имеете возможность изменять текст программы Visual Basic, реализующий макрос. Это открывает перед вами большие возможности в написании собственных программ.

Удаление макросов

Если макрос назначен клавише быстрого доступа, графическому объекту или кнопке, то процесс удаления является стандартным. Вы выбираете опцию Макрос пункта Сервис основного меню. Появляется окно диалога “Макрос”, содержащее список макросов текущей рабочей книги. После выбора макроса, который вы предполагаете удалить, станут доступными кнопки окна диалога “Макрос”, в том числе кнопка Удалить. Для удаления выбранного макроса вам достаточно нажать эту кнопку.

Макрос можно удалить и другим способом. Если макрос записан в отдельном модуле, то нужно удалить модуль. Для этого нужно сделать его активным, а затем нажать правую кнопку мыши на его ярлычке. Появится окно диалога, в котором нужно выбрать команду Удалить. Если модуль содержит и другие макросы, то нужно выделить весь текст удаляемого макроса и нажать клавишу Del на клавиатуре.

Объекты, которым был назначен макрос, удаляются из режимов редактирования этих объектов.

Определенную трудность представляет процесс удаления строк с названиями макросов из пункта Сервис основного меню. Для их удаления вы можете использовать окно диалога “Редактор меню”, которое открывается нажатием кнопки Редактор меню, расположенной на панели инструментов “Visual Basic”. Вы можете выбрать требующийся пункт меню из списка Меню. При этом в следующем списке Элементы меню появляются опции этого пункта меню. Вы можете выбрать и удалить нужную строку нажатием кнопки Удалить .

Кнопка Сброс окна диалога восстанавливает стандартное состояние всех пунктов основного меню Excel.

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

Окно диалога “Редактор меню” можно вызвать и без использования кнопки Редактор меню. Для этого нужно выполнить следующие действия:

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

· Выберите пункт Сервис текущего меню. Появится ниспадающее меню, в котором присутствуют дополнительные опции, одной из которых является Редактор меню

· Установите курсор на команду Редактор меню и нажмите клавишу Enter. Появится требуемое окно диалога.

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

Переименование макроса

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

Пример 4. Изменение имени макроса

Изменим имя макроса “Месяцы” на “Месяцы_с_абсолютными_адресами”. Для этого войдите в режим редактирования макроса “Месяцы”. Ниже расположен текст программы.

Месяцы Макрос Быстрый вызов: Ctrl+o

Sub Месяцы()

ActiveCell.FormulaR1C1 = “январь”

Selection.AutoFill Destination:=ActiveCell.Range(“A1:A12”); _

Type:=xlFillDefault

ActiveCell.Range(“A1:A12”).Select

End Sub

Первая строка является комментарием. Заменим “Месяцы” на “Месяцы_с_абсолютными_адресами”. Соответствующим образом изменим комментарий. В результате получим новый текст программы макроса:

‘Месяцы_с_абсолютными_адресами Макрос Быстрый вызов: Ctrl+o

Sub Месяцы_с_абсолютными_адресами()

ActiveCell.FormulaR1C1 = “январь”

Selection.AutoFill Destination:=ActiveCell.Range(“A1:A12”); _

Type:=xlFillDefault

ActiveCell.Range(“A1:A12”).Select

End Sub

Новое имя автоматически заменит старое в списках макросов. По клавише быстрого вызова будет вызываться макрос с новым именем. Но не все замены происходят автоматически. Если ваш макросу были назначены графические объекты или кнопки, то вам нужно будет самим сделать для них переназначения.

Запись в существующий макрос новых действий

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

Сделайте активным модуль, в котором находится макрос.

В тексте программы установите курсор в место ввода новых действий.

Выполните команду Сервис | Запись макроса | Отметить позицию. Теперь ваши действия при записи макроса будут записываться в программу с того места, где вы установили курсор.

Перейдите в лист рабочей книги, где вы будете записывать новые действия.

Выполните команду Сервис | Запись макроса | Записать с отметки. Начиная с этого момента все ваши действия будут записываться в макрос.

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

Нажмите на кнопку Остановить запись .

Рассмотрим конкретный пример добавления новых записей.

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

Пример 5. Внесение изменений в существующий макрос

Внесем изменения в макрос “Заголовок”, который был записан в примере 6.2. Изменения будут касаться формата заголовка. Расположим заголовок “Типы компьютеров” в центре строки над названиями типов и введем другой шрифт для заголовка.

Приведем текст программы, реализующий макрос “Заголовок” и укажем место расположения курсора строкой с комментарием “‘место установки курсора”.

Заголовок Макрос назначен пункт меню Сервис “Тип ЭВМ”

Sub Заголовок()

ActiveCell.FormulaR1C1 = “Тип компьютера”

ActiveCell.Offset(1; 0).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_35_SR”

ActiveCell.Offset(0; 1).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_40_SR”

ActiveCell.Offset(0; 1).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_55_LS”

ActiveCell.Offset(0; 1).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_55_SX”

ActiveCell.Offset(0; -3).Range(“A1:D1”).Select

ActiveCell.Activate

Selection.Columns.AutoFi

‘место установки курсора

End Sub

Для внесения новых записей в макрос “Заголовок” выполните следующие действия:

· Удалите комментарий в предпоследней строке программы и поместите там указатель.

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

· Перед тем как выполнить 6 шаг алгоритма внесения изменений в макрос, запустите макрос “Заголовок”. Это позволит вам определить положение курсора на рабочем листе, где будут вноситься новые действия.

· Выполните 6 шаг алгоритма внесения изменений в макрос. Все последующие действия будут записаны.

· Выделите четыре ячейки, включающие заголовок “Тип компьютера”.

· Вызовите окно диалога “Формат ячейки”, нажав Ctrl+1.

· Выберите вкладку “Выравнивание”, в которой установите флажок Центрировать по выделению. Таким образом мы поместим заголовок в середину строки.

· Выберите вкладку “Шрифт”, в которой установите стиль Italic и размер шрифта 16. Нажмите кнопку OK, чтобы выйти из режима форматирования ячейки.

· Нажмите кнопку Остановить макрос .

После завершения записи новых действий в макрос “Заголовок” мы получили новый текст программы:

Заголовок Макрос назначен пункт меню Сервис “Тип ЭВМ”

Sub Заголовок()

ActiveCell.FormulaR1C1 = “Тип компьютера”

ActiveCell.Offset(1; 0).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_35_SR”

ActiveCell.Offset(0; 1).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_40_SR”

ActiveCell.Offset(0; 1).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_55_LS”

ActiveCell.Offset(0; 1).Range(“A1”).Select

ActiveCell.FormulaR1C1 = “CP_55_SX”

ActiveCell.Offset(0; -3).Range(“A1:D1”).Select

ActiveCell.Activate

Selection.Columns.AutoFit

ActiveCell.Offset(-1; 0).Range(“A1:D1”).Select

With Selection

.HorizontalAlignment = xlCEnterAcrossSelection

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = xlHorizontal

End With

With Selection.Font

.Name = “TimesET”

.FontStyle = “Italic”

.Size = 16

.Strikethrough = False

.Superscript = False

.Subscript = False

.OutlineFont = False

.Shadow = False

.Underline = xlNone

.ColorIndex = xlAutomatic

End With

End Sub

Перед последним оператором программы осталась пустая строка. Вы можете удалить ее.

Теперь результат работы макроса “Заголовок” имеет следующий вид:

Тип компьютера

CP_35_SR CP_40_SR CP_55_LS CP_55_SX

Назначение макроса

Назначение макроса графическому объекту

Макрос может вызываться не только нажатием клавиш быстрого вызова, но и нажатием кнопки мыши на графическом объекте. В этом разделе рассказывается о том, как организовать такой вызов макроса.

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

Для создания графических объектов была вызвана панель инструментов “Рисование”. Для этого необходимо выполнить команду Вид | Панели инструментов, а затем в окне диалога “Панели инструментов” установить флажок на строке Рисование .

Для вызова списка панелей вы можете нажать правую кнопку мыши на любой панели инструментов.

Чтобы нарисовать закрашенный овал или прямоугольник, нажмите кнопку мыши на соответствующем рисунке на панели “Рисование”. Вам будет предложено выбрать место для объекта. Поместите указатель мыши в нужное место таблицы и, удерживая нажатой кнопку мыши, нарисуйте объект — прямоугольник или овал.

Для выбора заливки объекта нажмите правую кнопку мыши на активном объекте. Появится меню, в котором выберите пункт Формат объекта. Появится окно диалога “Форматирование объекта”, в котором выбирается цвет и вид заливки.

Надписи на объектах создаются следующим образом:

Нажмите кнопку Текстовое поле на панели инструментов “Рисование”.

Удерживая нажатой кнопку мыши, выделите место для текста.

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

Нажмите правую кнопку мыши на текстовом окне. Появится меню, в котором выберите пункт Формат объекта. В результате появится окно диалога “Форматирование объекта”, в котором перейдите на вкладку “Выравнивание”.

Установите переключатели вертикального и горизонтального выравнивания в положение по центру и выберите вкладку “Шрифт”.

Установите стиль и размер шрифта и нажмите клавишу OK.

Нажатие Enter при вводе текста не завершает ввод, а лишь переводит на следующую строку.

Вы получили надпись на объекте. Обратите внимание, что надпись “Заголовок” сделана под графическим объектом “прямоугольник”. После того как было найдено удачное расположение надписи на объекте, была нажата кнопка На задний план, расположенная на панели инструментов “Рисование” и текст оказался под объектом.

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

· Нажмите кнопку мыши на графическом объекте. Объект становится активным.

· Выполните команду Сервис | Назначить макрос. Появится окно диалога со списком макросов.

· Выберите требуемый макрос и нажмите на нем кнопку мыши. Имя макроса появится в верхней строке окна диалога.

· Нажмите кнопку OK. Вы выйдете из режима назначения макроса. Графический объект остается активным. Нажмите кнопку мыши в любом месте вне объекта.

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

Назначить макрос графическому объекту можно и другим способом. Нажмите правую кнопку мыши на объекте. Из появившегося меню выберите команду Назначить макрос и из списка макросов выберите требуемый.

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

Пример 6. Назначение макроса графическому объекту

Назначим макрос “Число” графическому объекту “стрелка”. Для этого выполните следующие действия:

· Нажмите кнопку с изображением стрелки на панели инструментов “Рисование”.

· Установите курсор в нужное место таблицы и, удерживая нажатой кнопку мыши, проведите стрелку.

· Нажмите кнопку Текстовое поле на панели инструментов “Рисование” и, удерживая нажатой кнопку мыши, выделите место для текста.

· Введите текст “Число” и нажмите кнопку мыши вне текстового поля.

· Нажмите правую кнопку мыши на текстовом окне. Появится меню, в котором выберите пункт Формат объекта. После этого появится окно диалога “Форматирование объекта”. В этом окне нам понадобятся вкладки: “Выравнивание”, “Шрифт” и “Вид”. Во вкладке “Выравнивание” установите переключатели вертикального и горизонтального выравнивания в положение по центру. Во вкладке “

Шрифт” выберите шрифт TimesET, стиль Italic, размер 16. Во вкладке “Вид” установите переключатель Рамка в положение Нет, в результате чего рамка вокруг текста будет удалена.

· Нажмите клавишу OK. Графический объект построен.

· Нажмите кнопку На задний план, расположенную на панели инструментов “Рисование”. Текст оказался под стрелкой.

· Нажмите кнопку мыши на графическом объекте. Объект становится активным.

· Нажмите правую кнопку мыши, когда ее указатель находится на объекте. Появится меню со списком команд.

· Выберите Назначить макрос. Появится окно диалога “Назначить макрос объекту” со списком созданных макросов.

· Выберите макрос “Число”. Имя макроса появится в верхней строке окна диалога.

· Нажмите кнопку OK. Вы назначили макрос графическому объекту. Нажмите кнопку мыши вне объекта, чтобы он перестал быть активным.

Если поместить указатель мыши на изображение стрелки, то белый крестик перейдет в изображение руки с отогнутым указательным пальцем. Нажатие левой кнопку мыши приводит к выполнению макроса “Число”.

Пример 7. Назначение макроса рисунку

Представлены три рисунка, которым назначены созданные нами макросы “Месяц”, “Заголовок” и “Число”.

Назначение макроса рисунку ничем не отличается от назначения макроса графическому объекту, которое было рассмотрено ранее. Рисунки взяты из каталога Windows. Они содержатся в файлах WINLOGO.BMP, EGYPT.BMP и ARCHES.BMP.

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

· Выполните команду Вставка | Рисунок. Появится окно диалога выбора рисунка.

· Выберите каталог Windows. В окне диалога появится список графических файлов.

· Выберите файл WINLOGO.BMP и выбранный рисунок появится на рабочем листе Excel.

· Нажмите правую кнопку мыши, когда ее указатель находится на активном рисунке.

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

· Нажмите кнопку мыши вне рисунка, чтобы он перестал быть активным.

В ячейках A1:A3 вы можете увидеть результат работы макроса “Число”, который был назначен рисунку “winlogo”. Для получения результата мы выделили ячейки A1:A3 и переместили указатель мыши на рисунок “winlogo”. Нажатие кнопки мыши привело к выполнению макроса “Число”, то есть к форматированию ячеек A1:A3.

4. Примеры макросов

Служебной кнопке Excel также можно назначить макрос. При этом она потеряет свое первоначальное предназначение. Для восстановления служебной кнопки сначала удалите ее с панели в режиме настройки, а затем переместите оригинал из соответствующей категории кнопок на требуемую панель инструментов.

В этом разделе мы приведем примеры макросов, выполняющих следующие функции:

1 Заполнение ячейки числами, являющимися членами арифметической прогрессии с разностью равной 0,5

2 Назначение встроенного формата диаграмм

3 Вставка значения вместо формул

Пример 10. Макрос “Прогрессия”

В результате работы макроса “Прогрессия” выделенные в строке ячейки заполняются числами, являющимися членами арифметической прогрессии с разностью равной 0,5 или с шагом 0,5.

Для записи макроса “Прогрессия” выполните следующие действия:

· Введите в ячейку A1 число 1000 и выделите ячейки A1:C1.

· Выполните команду Сервис | Запись макроса | Начать запись. Появится окно диалога “Запись макроса”.

· Введите в поле ввода Имя макроса название записываемого макроса Прогрессия и нажмите кнопку Параметры. Окно диалога “Запись макроса” расширяется.

· Перейдите на латинский регистр и введите букву p для клавиши быстрого вызова макроса.

· Нажмите кнопку OK в окне диалога “Запись макроса”, которое после этого закроется. Начиная с этого момента, все ваши действия будут записываться в макрос. В строке состояния появится слово “Запись”.

· Выполните команду Правка | Заполнить | Прогрессия. Появится окно диалога «Прогрессия».

· Установите флажок по строкам. Это означает, что прогрессия будет строится в выделенной строке.

· Установите флажок арифметическая. Это означает, что ячейки в строке будет заполняться числами, являющимися членами арифметической прогрессии.

· В окне “Шаг” введите число 0,5 — разность арифметической прогрессии.

· Нажмите кнопку OK, чтобы выйти из окна диалога “Прогрессия”. Теперь нужно закончить запись макроса.

· Нажмите кнопку Остановить макрос .

Итак, результаты работы макроса “Прогрессия”. Он запускается нажатием Ctrl+p. Перед этим нужно ввести первый член прогрессии и выделить ячейки в строке, где будут размещаться члены арифметической прогрессии с разностью 0,5.

После нажатия клавиш Ctrl+p ячейки A1:G1 заполнятся числами 1000 1000,5 1001 1001,5 1002 1002,5 1003.

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

Пример 11. Макрос “Диаграмма”

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

Для записи макроса “Диаграмма” выполните следующие действия:

· Выполните команду Сервис | Запись макроса | Начать запись. Появится окно диалога “Запись макроса”.

· Введите в поле ввода Имя макроса название записываемого макроса Диаграмма и нажмите кнопку Параметры.

· Перейдите на латинский регистр и введите букву d для клавиши быстрого вызова макроса.

· Нажмите кнопку OK в окне диалога “Запись макроса”. Начиная с этого момента все ваши действия будут записываться в макрос. В строке состояния появится слово “Запись”.

· Из меню Сервис выберите команду Параметры. Появится окно диалога “Параметры”.

· Выберите вкладку “Диаграмма”. В поле ввода списка Формат диаграммы по умолчанию отображается название последнего использовавшегося пользовательского автоформата диаграммы.

· В списке Формат диаграммы по умолчанию с помощью полосы прокрутки найдите значение Встроенная и нажмите кнопку OK.

· Нажмите кнопку Остановить макрос .

До запуска макроса “Диаграмма” в качестве диаграммы по умолчанию строилась диаграмма формата Линии.После нажатия клавиш Ctrl+d в качестве диаграммы по умолчанию будет использоваться Встроенная. Макрос изменяет значение формата для стандартной диаграммы. Обе диаграммы построены на наборе данных A1:E4, но с использованием разных форматов.

Пример 12. Макрос “Значение”

Действие этого макроса аналогично нажатию кнопки Вставить значения. В ячейке остается только результат работы формулы, а сама формула исчезает. Это очень важная функция, поэтому приведем алгоритм записи соответствующих действий в макрос, который впоследствии будет вызываться нажатием Ctrl+v.

Для записи макроса “Значение” выполните следующие действия:

· Для наглядности введите в ячейки A1 и A2 какие-нибудь формулы, например, следующего вида: =COS(D1), =COS(D2). В ячейках D1 и D2 расположены числа.

· Выделите ячейки A1 и A2.

· Выполните команду Сервис | Запись макроса | Начать запись. Появится окно диалога “Запись макроса”.

· Введите в поле ввода Имя макроса название записываемого макроса Значение и нажмите кнопку Параметры.

· Перейдите на латинский регистр и введите букву v для клавиши быстрого вызова макроса.

· Нажмите кнопку OK в окне диалога “Запись макроса”. Начиная с этого момента все ваши действия будут записываться в макрос.

· Выполните команду Правка | Копировать.

· Нажмите мышью в первую ячейку выделенной области. В нашем случае это ячейка A1.

· Выполните команду Правка | Специальная вставка. Появится окно диалога “Специальная вставка”.

· Установите признак Значения.

· Нажмите кнопку OK для выхода из окна диалога “Специальная вставка”.

· Нажмите мышью в первую ячейку выделенной области. В нашем случае это ячейка A1.

· Нажмите клавишу Esc.

· Нажмите кнопку Остановить макрос.

Работа с макросом “Значение” осуществляется следующим образом. Сначала выделите блок ячеек, в которых присутствуют формулы, а затем нажмите Ctrl+v. В выделенных ячейках останутся только значения формул.

Результатом работы формул может быть текст. После нажатия Ctrl+v формулы исчезнут и останется только текст.

Если вы хотите использовать макрос “Значение” вместо команды Специальная вставка, запишите его с относительными ссылками.

5. Заключение

И в заключении, целесообразно обобщить всё ранее сказанное и выделить основные моменты.

1 Макрос представляет собой записанную последовательность определенных действий.

2 Для записи макроса выполните команду Сервис | Запись макроса.

3 Назначение существующему макросу клавиши быстрого вызова и пункта меню выполняется с помощью команды Сервис | Макрос.

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

5 Редактировать текст макроса можно непосредственно в модуле с текстом.

6 Для удаления макроса нажмите мышью на его имени. При этом станут доступными кнопки окна диалога “Макрос”, в том числе кнопка Удалить.

7 Команда Сервис | Назначить макрос назначает макросы графическим объектам.

8 Введите в поле ввода Имя макроса название создаваемого макроса и запишите новый макрос.

9 Вы можете вносить изменения непосредственно в текст программы, в которой на языке Visual Basic for Applications записана последовательность действий макроса.

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

— из основного меню

— при помощи кнопки на панели инструментов

— при помощи кнопки на рабочей области

— нажатием комбинации клавиш клавиатуры

— нажатием кнопкой мыши на графическом объекте

Список литературы.

1. Excel 7 для windows 95. Справочник Штайнер Й.1997

2. Excel 7.0: Общие и экономические расчёты. Матюшок В.М. 1997

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

Расширенные возможности процессора электронных таблиц Microsoft Office Excel

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

Методика выполнения работы

Работа с макросами

Макрос — это программа, автоматизирующая выполнение различных часто повторяющихся операций. Понятие макроса и управление его записью и применением аналогичны рассмотренным в текстовом процессоре Word.

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

Работая с книгой Excel, пользователь может записать несколько макросов. Все они сохраняются в VBA-модуле. Запуск макроса выполняется одним из трех способов:

  1. с помощью «горячих» клавиш;
  2. посредством выбора имени макроса в меню;
  3. щелчком мыши по графическому объекту, связанному с макросом.

Начало записи макроса 

  1. Обратитесь к меню Сервис/Запись макроса…/Начать запись… .
  2. В окне «Запись макроса» укажите имя макроса.
  3. Если запуск макроса планируется через меню или «горячие» клавиши, то нажмите кнопку «Параметры» и задайте имя пункта меню или (и) сочетание клавиш.
  4. Нажмите «Ok». Признак начала записи — появление небольшого окна с кнопкой «Остановить запись».

Запись макроса 

Начинать запись макроса следует после предварительного планирования действий. Рекомендуется потренироваться в выполнении записываемых операций без запуска макрорекордера. Если при записи выполнено неверное действие, следует отменить его, нажав кнопку «Отменить» на основной панели инструментов.

Завершение записи 

  1. Нажмите кнопку «Остановить запись».
  2. Если запуск макроса планируется с помощью графического объекта, то выберите требуемый объект на панели «Формы» и разместите его на рабочем листе. Для вызова указанной панели следует обратиться к меню Вид/Панели инструментов… .После размещения объекта типа «Кнопка» откроется окно «Назначить макрос объекту», в котором требуется указать имя макроса и нажать «Ok». Для других объектов необходимо щелкнуть по нему правой кнопкой мыши, после чего из выпадающего меню следует выбрать пункт «Назначить макросу» и указать связь с макросом.
  3. Опробуйте действие макроса, предварительно восстановив исходное состояние таблицы.

Пример записи макроса

Пусть требуется для выделенного диапазона ячеек, содержащих числа, установить режим форматирования в числовом виде с точностью до одного десятичного знака. Соответствующий макрос должен запускаться с помощью графического объекта «Кнопка».

  1. Выделить диапазон клеток, в котором задается формат. Важно сделать это до запуска макрорекордера, а не после, поскольку макрос должен быть применим для любого выделенного участка. В противном случае он будет форматировать только один диапазон.
  2. Запустить макрорекордер. 
  3. Обратиться к меню Формат/Ячейки… и на вкладке «Число» выбрать числовой формат и «Число десятичных знаков» — 1.
  4. Щелкнуть мышью на любой ячейке, чтобы снять выделение диапазона.
  5. Нажать кнопку «Остановить запись».
  6. Вызвать панель «Элементы управления», щелкнуть по объекту «Кнопка» и, установив указатель мыши на свободное место листа, «растянуть» объект. Сменить надпись на кнопке можно двойным щелчком мыши по стандартной надписи, но если объект выделен. Выделяется объект правой кнопкой мыши и нажатием клавиши Esc для закрытия всплывающего меню форматирования объекта.
  7. В окне «Назначить макрос объекту» указать имя макроса, связываемого с кнопкой и нажать «Ok».
  8. Щелкнуть мышью вне объекта «Кнопка», чтобы подготовить макрос к работе.
  9. Восстановить исходные данные и опробовать работу макроса для различных выделяемых диапазонов.

На рисунке показан диапазон C1:E2, преобразованный в требуемый формат макросом, запускаемым кнопкой с надписью «Десятичный формат».

Построение трендовых моделей при помощи диаграмм

Многие экспериментальные данные можно интерпретировать как временные ряды — последовательность измерений, полученных в определенные моменты времени ti, где i — порядковый номер измерения на оси времени. Такие ряды характеризуются некоторой тенденцией развития процесса во времени и называются трендовыми. Используя трендовые модели, можно выдавать прогнозы на краткосрочный и среднесрочный периоды. Excel имеет средства для создания трендовых моделей встроенные в построитель диаграмм.

Одной из форм трендовых моделей при постоянном шаге по времени является линейная:

В качестве примера используем данные об авиаперевозках в США с 1949 по 1960 годы. Пусть требуется предсказать объем авиаперевозок на 1961 год. Знание этого объема позволяет планировать развитие авиационной промышленности и инфраструктуры, связанной с авиаперевозками. Исходные данные приведены в таблице.

Порядок расчетов следующий.

  1. Выделить диапазон B2:B13 и построить по этим данным диаграмму типа «График», щелкнув по значку «Мастер диаграмм» на панели инструментов.
  2. Выделить диаграмму и выполнить Диаграмма/Добавить линию тренда.

  1. В окне «Линия тренда» открыть вкладку «Параметры» и установить флажки «Показывать уравнение на диаграмме» и «Поместить на диаграмму величину достоверности аппроксимации».

  1. На вкладке «Тип» выбрать тип диаграммы – линейная и нажать Ok. Результаты показаны на рисунке.

  1. Вычислить по формуле y = 383,09x + 873,52. Следует учесть, что аргументом трендовой модели является порядковый номер, т.е. в нашем примере x=13. В результате получим прогноз на 1961 год: 5853,69 тысяч пассажиров.

Следует заметить, что мы, скорее всего, получили заниженный прогноз. Это видно из диаграммы и обусловлено выбором линейной модели прогноза. Возможно, что более точный прогноз был бы получен с помощью степенной или экспоненциальной линий тренда. Оценить качество прогноза можно только в конце 1961 года. В целом прогноз следует делать весьма осторожно – возможны большие ошибки. Именно поэтому чаще всего используются краткосрочные и среднесрочные прогнозы.

Коэффициент достоверности аппроксимации R2 показывает степень соответствия трендовой модели исходным данным. Его значение может лежать в диапазоне от 0 до 1. Чем ближе R2 к 1, тем точнее модель описывает имеющиеся данные.

Задание к работе

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

Порядок выполнения работы

  1. Работа с несколькими листами:
  1. Создать лист с именем «Исходная» с таблицей. Таблицу выбрать согласно варианту в пункте «Варианты заданий к работе». Номер своего варианта узнать у преподавателя.
  2. В произвольной пустой ячейке этого листа введите число равное номеру вашего варианта.
  3. Создать лист «Сводная» с таблицей, изображенной в пункте «Сводная таблица» «Вариантов заданий к работе».
  4. Добавить к сводной таблице столбец с именем «Кол-во1». Значения в нем должны быть заполнен числами равными исходным значениям столбца «Кол-во», сложенным с ячейкой, содержащей номер варианта на листе «Исходная»;
  1. Работа со сводными таблицами:
  1. На основе этой таблицы создайте отчёт сводной таблицы, используя меню «Данные – Сводная таблица…».
  2. Следовать указаниям «Мастера сводных таблиц», указав источник данных и место размещение результата;
  3. разместить поля по областям следующим образом:

Страница – «Квартал»

Строка – «Инв. №»

Столбец – «Канал»

Данные – сумма по полю «Кол-во1»

  1. Используя переключатели в отчёте сводной таблицы, найти:
  1. Общее количество заказов по почте в 1 квартале;
  2. Общее количество проданных изданий № 30782;
  3. Количество изданий № 26059, проданных по международным каналам;
  4. Общее количество изданий, проданных во втором квартале.
  1. Отобразить все значения по всем полям сводной таблицы;
  2. Построить отчёт сводной диаграммы для всех изданий, проданных по международным каналам;
  3. Отобразить все значения по всем полям сводной таблицы;
  4. Построить отчёт сводной диаграммы для издания № 41210;
  5. Отобразить все значения по всем полям сводной таблицы;
  6. Приведите отчёт сводной таблицы к структурированному формату, используя автоформат «Отчёт4».
  1. Создание и выполнение макросов:
  1. Перейти на лист «Исходная» и выделить на нем произвольный диапазон числовых ячеек.
  2. Произвести запись макроса, выполняющего установку полужирного курсивного шрифта в любом выделенном диапазоне ячеек;
  3. Добавить на лист «Исходная» элемент управления «Кнопка» через меню панель инструментов «Формы» в меню «Вид»;
  4. Назначить макрос элементу управления «Кнопка» с надписью «Полужирный+Курсив»
  1. Построение трендовых моделей:
  1. Создать новый лист с именем «Трендовая модель»;
  2. Создать на листе таблицу, содержащую две колонки: «Код» и «Кол-во1». Колонка Код заполняется, начиная с числа равного номеру вашего студенческого, шаг заполнения +1. Колонка «Кол-во1» – содержит ссылки на ячейки в одноименной колонке на листе «Сводная».
  3. Построить трендовую модель по данным получившейся таблицы;
  4. По уравнению получившейся трендовой модели в отдельной ячейке вычислить значение столбца «Кол-во1» для кода, превышающего последнее значение столбца Код на 10.
  1. Доложить преподавателю об окончании выполнения работы;

Требование к защите работы

  1. Отчет о выполнении лабораторной работы;
  2. Конспект порядка выполнения лабораторной работы.
  3. Знать ответы на ВСЕ контрольные вопросы.

Содержание отчета

  1. Название и цель лабораторной работы;
  2. Отчет сводной диаграммы, отображающий общее количество проданных изданий № 30782 выполненных в П.2 «Порядка выполнения работы».
  3. График построения трендовой модели с результатами прогнозирования по П.4. выполнения работы»;
  4. Выводы.

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

  1. Что такое трендовая модель?
  2. Для чего используются трендовые модели?
  3. Как можно создать трендовую модель в Excel?
  4. Что показывает коэффициент достоверности аппроксимации R2?
  5. Какие прогнозы: краткосрочные, среднесрочные или прогноз на длительный срок используются чаще? Почему?
  6. Как оценить степень соответствия трендовой модели исходным данным?
  7. Что такое сводная таблица?
  8. Что такое макрос?
  9. Каково назначение макрорекордера?
  10. Где сохраняются макросы?
  11. Сколько макросов можно создать для одной таблицы?
  12. Сколькими способами можно выполнить запуск макроса? Перечислите их.
  13. Как запустить макрос на выполнение?
  14. Каковы особенности записи макроса?
  15. Какие действия следует выполнить при завершении записи макроса?

Рекомендуемая литература

  1. Зайден М. Excel 2000 / Зайден М.; Науч. ред.: А. Плещ, С. Молявко. — М.: Лаборатория Базовых Знаний, 2000 — 336 с.: ил. + табл.. — (Компьютер)

(Шифр: 32.97        З 17)

  1.         Вейсскопф Д. Excel 2000. Базовый курс (русифицированная версия) / Вейсскопф Д.; Пер. с англ. под ред. В.В. Легейды, Б.Г. Жадаева. — Киев — М.- СПб.: ВЕК+; ЭНТРОП; Корона-Принт, 2000 — 400 с.: ил. + табл.. — Слов. терминов Excel: с. 377-384.-Предметный указ.: с. 385-393

(Шифр: 32.97        В 26)

  1. Саймон Д. Анализ данных в Excel = Excel Data Fnalysis: Наглядный курс создания отчетов, диаграмм и свободных таблиц / Саймон Д.; Пер. с англ. И.В. Константинова; Под ред. И.В. Василенко. — М.- СПб.- Киев: Диалектика, 2004 — 517 с.: ил. + CD-ROM. — (Читая меньше, узнавай больше!). — Прил.: с. 471-511.-Предметный указ.: с. 512-516

(Шифр: 32.97        С 14)

  1.         Лавренов С.М. Excel: Сборник примеров и задач / Лавренов С.М.; Рец.: О.А. Козлов, Р.А. Подбельская. — М.: Финансы и статистика, 2003 — 336 с.: ил.. — (Диалог с компьютером). — Библиогр.: с. 304-306.-Прил.: с. 307-332

(Шифр: 32.973я7        Л 13)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ

ДОНЕЦКИЙ ПОЛИТЕХНИЧЕСКИЙ ТЕХНИКУМ

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ

ПО ИЗУЧЕНИЮ ТЕМЫ «VBA в EXCEL»

В КУРСЕ «ОФИСНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ»

для студентов специальности 5.05010301

«Разработка программного обеспечения»

Методические рекомендации по изучению темы «VBA в EXCEL» в курсе «Офисное программное обеспечение» для студентов дневного отделения специальности 5.05010301 «Разработка программного обеспечения»

Федосеенко Н.А. – преподаватель первой категории ПК информатики и программирования ДПТ

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

Для студентов и преподавателей Донецкого политехнического техникума.

Рецензент: председатель цикловой комиссии информатики и программирования, преподаватель высшей категории ДПТ Величко П.И.

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

Протокол № ______от __________________

ВВЕДЕНИЕ

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

В настоящих методических указаниях рассматриваются вопросы технологии программирования на языке VBA (Visual Basic for Applications) в среде табличного процессора Microsoft Excel. Этот язык является подмножеством современного объектно-ориентированного языка программирования Microsoft Visual Basic, позволяющего создавать событийно-управляемые приложения и предоставляющего широкие возможности визуального программирования. VBA является также базовым языком макрокоманд для других программных средств фирмы Microsoft: Access, PowerPoint и др. Овладение студентами основами программирования позволит им в полной мере использовать мощные возможности табличного процессора, автоматизировать обработку больших массивов числовой и текстовой информации, создавать гибкие программы со сложной логикой, разрабатывать дружественный интерфейс пользователя.

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

Изложенный материал может быть использован на лекциях, лабораторных работах и в самостоятельной работе студентов в течение изучения предмета «Офисное программное обеспечение».

ОБЩИЕ СВЕДЕНИЯ

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

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

Программирование на языке VBA основывается на четырех основных понятиях: объект, переменная, оператор и команда.

Объектами в Excel является все то, с чем работает пользователь электронной таблицы — рабочие книги, электронные таблицы, ячейки и т.д. Каждый объект обладает рядом признаков, описывающих объект или характеризующих состояние объекта. Эти признаки называются свойствами объекта. Например, одним из свойств рабочего листа электронной таблицы является имя листа. К свойствам ячейки относятся содержимое ячейки, формула и различные параметры форматирования ячейки.

Объекты могут содержать другие объекты. Книга Excel содержит рабочие листы. В свою очередь, рабочие листы содержат ячейки. В целом, все объекты Excel образуют строгую иерархию. На рис. 1 приведена структура объекта ActiveCell («Текущая ячейка»).

При обращении к какому-либо свойству конкретного объекта используется следующий синтаксис:

..

Например, чтобы прочитать формулу, содержащуюся в текущей ячейке, нужно написать ActiveCell.Formula. Здесь ActiveCell — объект, a Formula — его свойство.

Некоторые объекты являются составной частью других объектов. Так, объект Interior («Заливка») может относиться к текущей ячейке, диапазону ячеек или к ячейке электронной таблицы, находящейся на другом листе рабочей книги. Чтобы уточнить, какую именно заливку

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

Например, цвет заливки текущей ячейки обозначается следую­щим образом: ActiveCell.Interior.Color. Наиболее употребительные объекты Excel и их свойства приведены в приложении А.

Рисунок 1 — Структура объекта ActiveCell

Кроме свойств, у объектов есть ряд методов. Метод — это действие, применяемое к объекту. Например, одним из методов для объекта Range (Диапазон) является ClearContents (Очистить содержимое). Этот метод позволяет очистить содержимое диапазона. При обращении к какому-либо методу конкретного объекта используется следующий синтаксис:

..

Например: Range(«Al:A10»).ClearContents.

Язык Visual Basic for Applications позволяет разрабатывать событийно-управляемые приложения. Событие — действие, распознаваемое объектом (формой или элементом управления). Событийно-управляемое приложение выполняет код VBA в ответ на события. С каждой формой и элементом управления связан стандартный набор событий. Если происходит одно из этих событий и в соответствующей процедуре обработки события имеется код, VBA вызывает этот код. Например, большинство объектов распознает событие Click — если пользователь щелкнет командную кнопку или на поле формы, выполняется код, внесенный в процедуру события Click, соответственно, кнопки и формы.

Событие может быть вызвано пользователем (например, нажатие клавиши), системой (например, событие таймера) или программным кодом.

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

Переменные характеризуются своим именем. Имя переменной должно всегда начинаться с буквы или знака подчеркивания, может содержать знаки подчеркивания и быть длиной до 255 символов. Имена переменных не должны содержать внутри себя пробелы.

Операторы производят действия с объектами и переменными. Операторы делятся на арифметические, логические, текстовые и операторы сравнения. Полный список операторов приводится в приложении В.

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

Тема: «Создание программных модулей VBA для обработки табличных данных MS Excel «.

Цель работы: научиться обрабатывать табличные данные в среде VBA.

Подготовительная часть

Дать краткую характеристику следующим понятиям:

  1. Описать объекты, их свойства, методы и события: Cells, Range, Sheets, ListBox

  2. Реализовать пример программы на VBA и предоставить преподавателю в электронном виде.

Практическая часть.

Задание: Создать проект, формы пользователя и программные модули для обработки данных, организованных в таблице Excel соответствующей варианту задания (варианты заданий приведены в файле «Задания»).

Задание № 1 Ввод данных в таблицу.

Создать книгу Excel под названием ЛР_VBA.

На листе 1 создать структуру таблицы согласно своему варианту (номер по журналу).

Реализовать ввод данных в таблицу, разработав для этого форму в VBA.

Задание № 2 Создание главного меню.

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

Задание № 3 Выполнение расчетов.

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

На главном меню создать кнопку для вызова формы произведения расчетов.

Подготовительная часть

Рассмотрим пример решения следующей задачи:

Создать проект, формы пользователя и программные модули для обработки сессии студентов:

1                 Создать таблицу следующей структуры:

–                   индекс группы;

–                   фамилия студента;

–                   оценки по пяти экзаменам;

–                   стипендия;

2                 Добавить в таблицу произвольное количество строк;

3                 Рассчитать стипендию студентам по результатам сессии, причем отличникам стипендию увеличить на 100%, сдавшим без троек – увеличить на 30%, а при наличии хотя бы одной двойки стипендию не начислять;

4                 Создать на 2-ом листе книги ведомость для выдачи стипендии студентам;

5                 Сортировать данные в таблице по выбранной колонке;

6                 Изменить показатели студента с заданной фамилией;

7                 Удалить из таблицы данные о студентах, имеющих более двух двоек.

Пример таблицы:

 Индекс группы

ФИО студента

Экзамен 1

Экзамен 2

Экзамен 3

Экзамен 4

Экзамен 5

Стипендия 

УТР02Б

Петров

5

4

5

4

2

0

УТР02А

Иванов

4

5

3

3

3

100

УТР02А

Климова

5

4

5

4

3

100

УТР02А

Морозова

3

3

3

3

3

100

УТР02А

Абрамова

4

4

5

3

3

100

УТР02А

Сидоров

4

4

3

3

4

100

УТР02Б

Жуковская

4

3

5

4

4

100

УТР02А

Ющенко

3

3

3

3

3

100

УТР02Б

Жукова

5

5

5

5

5

200

Для решения данной задачи предлагается следующий проект:

Программный модуль «ВВОД» (вызывается и в режиме «ДОБАВИТЬ»):

Dim i As Double

Private Sub UserForm_Activate()

   ‘ Подсчет количества строк в таблице и вывод  на форму в поле txtN 

   i = 1

   Do While Cells(i, 1) » «

      i = i + 1

   Loop

   txtN.Enabled = True

   txtN.Text = CStr(i — 2)

   txtN.Enabled = False

End Sub

Программный модуль «СОРТИРОВКА»:

Программный модуль «КОРРЕКТИРОВКА»: 

МодульKOR

Программный модуль «КОРРЕКТИРОВКА» (продолжение): 

 Модуль KOR1

Программный модуль «УДАЛЕНИЕ»:

Варианты индивидуальных заданий к лабораторной работе:

Вариант 1

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

Структура таблицы:

—              табельный номер;

—              фамилия рабочего;

—              наименование цеха;

—              размер заработной платы в месяц.

2.            Предусмотреть режим добавления в таблицу произвольного количества строк.

3.            Вычислить:

  • общую сумму выплаты за месяц по заданному цеху

  • среднемесячный заработок этого цеха.

4.   Создать на 2 листе книги ведомость для начисления заработной платы рабочих заданного цеха.

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

6.Увеличить размер заработной платы у рабочего с заданной фамилией на X% (значение Х задано).

7.            Удалить из таблицы 2 записи. Номера записей задать.

Вариант 2

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

Структура таблицы:

—              фамилия сборщика;

—              количество изделий, собранных им ежедневно в течение шестидневной недели, то есть – в понедельник, вторник, и т.д.

2.            Предусмотреть возможность добавления в таблицу произвольного количества строк.

3.            Определить:

  • общее количество деталей, собранных сборщиками цеха;

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

4.            Создать на 2 листе книги таблицу, которая содержит следующую информацию: фамилию сборщика и общее количество детали, собранное им за неделю.

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

6. Увеличить в Х раз (значение Х задано) количество деталей, собранных в заданный день недели.

7.            Удалить из таблицы запись о сборщике с заданной фамилией.

Вариант 3

1.            Создать таблицу, которая содержит сведения о количестве изделий категории А, B, С, собранных рабочим за месяц.

               Структура таблицы:

—         фамилия сборщика;

—         наименование цеха;

—         количество изделий (по категориям), собранных рабочим за месяц;

2.            Предусмотреть возможность добавления в таблицу произвольного количества строк.

3.            Рассчитать:

  • общее количество изделий каждой категории;

  • общее количество изделий, собранных всеми рабочими заданного цеха;

  • средний размер заработной платы работников заданного цеха.

4.      Создать на 2 листе книги ведомость для начисления заработной платы рабочих заданного цеха.

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

6.            Уменьшить количество изделий заданной категории на Х% (значение Х — задано).

7.            Удалить из таблицы записи, в которых количество изделий заданной категории  менее Y штук (значение Y — задано).

Вариант 4

1.            Создать таблицу, которая содержит сведения о телефонных абонентах.

Структура таблицы:

—              фамилия абонента;

—              номер телефона;

—              год установки телефона;

—              наличие задолженности в оплате.

2.            Предусмотреть возможность добавления в таблицу произвольного количества строк.

3.            Определить:

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

  • по заданной фамилии абонента номер его телефона.

4.            Создать на 2 листе книги таблицу, которая содержит фамилии задолжников и их телефоны.

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

6.            Изменить номер телефона у абонента с заданной фамилией

7.            Удалить из таблицы запись, которая содержит заданный номер телефона.

Вариант 5

1.            Создать таблицу, которая содержит сведения об ассортименте игрушек в магазине.

Структура таблицы:

—              название игрушки;

—              цена;

—              количество;

—              возрастные границы, например, 2-5, то есть от 2 до 5 лет.

2.            Предусмотреть возможность добавления в таблицу произвольного количества строк.

3.            Определить стоимость самой дорогой игрушки и ее наименование. По вводимым значениям A, B и X выдавать название игрушки, которое по стоимости не превышает X и подходит ребенку от A до B лет.

4.            Создать на 2 листе книги таблицу, которая содержит следующую информацию: наименования игрушек, которые подходят детям от X до Y лет и их цены.

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

6.            Увеличить цену игрушки для заданной возрастной группы на Z% (значение Z – задано).

7.            Удалить из таблицы запись об игрушке с заданным названием.

Вариант 6

1.            Создать таблицу, которая содержит сведения о сдаче студентами первого курса  сессии.

        Структура таблицы:

—         группа;

—         фамилия студента;

—         оценка по 5 экзаменам

—         признак участия в общественной работе: «Да»/»Нет».

2.            Предусмотреть возможность добавления в таблицу произвольного количества строк.

3.             Определить общее число активистов в списке.

4.            Создать на 2 листе книги таблицу, содержащую ведомость начисления стипендии студентам заданной группы. Рассчитать размер стипендии по следующему принципу. Студенту, получившему все оценки «5» и активно участвующему в общественной работе, назначается повышенная стипендия – доплата 50%. Студенту, получившему «4» и «5», назначается обычная стипендия – ее необходимо задать. Студенту, получившему одну оценку «3», но активно занимающемуся общественной работой, также назначается обычная стипендия. Остальным студентам стипендия не назначается. Предусмотреть ввод размера обычной стипендии.

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

6.            Изменить признак участия в общественной жизни студентов с оценками «55555» на противоположный.

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

Вариант 7

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

—         шифр книги;

—         название книги;

—         фамилия автора;

—         год издания;

—         место расположения (номер стеллажа, номер шкафа, номер полки);

2.            Предусмотреть возможность добавления в таблицу произвольного количества строк.

3.            Определить:

  • общее количество книг в коллекции, а также число книг заданного года издания.

  • по заданному автору и названию книги информацию о местонахождении книги.

4.            Создать на 2 листе книги таблицу, которая содержит информацию о книге заданного автора, которая находится в коллекции.

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

6.            Изменить место расположения книг самого позднего года издания.

7.            Удалить из таблицы записи о книгах, изданных до заданного года.

Вариант 8

1.            Создать таблицу, которая содержит сведения о сдаче сессии студентами.
Структура таблицы:

—              группа;

—              фамилия студента;

—              результаты экзаменов по 5 предметам (например, 55445);

—              результаты зачетов по 5 предметам (например, ЗЗНЗЗ, где «З» – зачет, а «Н» — незачет).

2.            Предусмотреть возможность добавления в таблицу произвольного количества строк.

3.            Вычислить средний балл, полученный каждым студентом заданной группы, и  средний балл этой группы, по каждому предмету. Определить общее количество задолженностей (по экзаменам и зачетам в сумме) каждого студента заданной группы и общее число студентов-должников той же группы.

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

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

6.            Изменить результат экзамена по заданному предмету студенту с заданной фамилией.

7.            Удалить из таблицы записи о студентах, которые имеют три задолженности.

Вариант 9

1.            Создать таблицу, которая содержит сведения о рейсах Аэрофлота.
Структура таблицы:

—              номер рейса;

—              пункт назначения;

—              дата вылета;

—              время вылета;

—              время прибытия;

—              количество свободных мест в самолете.

2.            Предусмотреть возможность добавления в таблицу произвольного количества строк.

3.            Определить:

  • номера рейсов и время отправления самолетов в заданный город;

  • по заданному городу и дате отправления  количество  свободных мест на рейсы;

  • общее количество рейсов за сутки в заданный город.

4.            Создать на 2 листе книги таблицу, которая содержит номера рейсов, дату и время отправления самолетов в заданный город.

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

6.            Изменить время вылета и время прибытия у заданного рейса.

Вариант 10

1.            Создать таблицу, которая содержит сведения об ассортименте обуви в магазине.
Структура таблицы:

—              артикул обуви (артикул начинается с буквы Д – для дамской обуви, М, – для мужской, П – для детской обуви, например, Д0321);;

—              наименование;

—              размер;

—              количество пар обуви;

—              стоимость.

2.            Предусмотреть возможность добавления в таблицу произвольного количества строк.

3.            Определить:

  • стоимость обуви заданного артикула, и какие размеры  имеются в наличии;

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

4.            Создать на 2 листе книги таблицу, которая содержит информацию о всех моделях  обуви  заданного вида.

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

6.            Увеличить стоимость обуви с заданным наименованием на Х% (значение Х задано).

Вариант 11

1.            Создать 2 таблицы, содержащие сведения о десяти нападающих хоккейных команд «Динамо» и «Шахтер».

        Структура таблиц:

—         фамилия хоккеиста;

—         число заброшенных им шайб;

—         число сделанных им голевых передач;

—         заработанное штрафное время.

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

3.            Вычислить:

  • общее число шайб, забитых хоккеистами каждой команды

  • суммарное штрафное время каждой команды

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

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

6.            Для хоккеистов «Динамо» уменьшить количество забитых шайб на заданное число, если это число больше 0.

Вариант 12

1.            Создать таблицу, которая содержит сведения о том, какую из пяти дисциплин желает слушать студент.

        Структура таблицы:

—         фамилия студента;

—         группа;

-наименование пяти дисциплин (выбираемая дисциплина замечается символом «1» иначе – пробел;

—         средний балл успеваемости.

2.            Предусмотреть возможность добавления в таблицу произвольного количества строк.

3.            Определить:

  • количество слушателей каждой дисциплины.

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

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

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

6.            Изменить сведения для студента с заданной фамилией.

7.            Удалить информацию о студентах со средним баллом ниже заданного.

ПРИЛОЖЕНИЕ А

ОБЪЕКТЫ EXCEL VBA

Объект/ Перевод/ Принадлежность

Свойство /

Перевод

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

или свойства

1

2

3

ActiveCell / Текущая активная ячейка

Address / Адрес

Адрес ячейки, строка вида «АР

Row/ Строка

Номер строки ячейки. Напри­мер, для ячейки ВЗ — число 3

Column / Колонка

Номер колонки ячейки (число). Например, для ячейки ВЗ -число 2

Value / Значение

Данное, содержащееся в ячей­ке. Это свойство является свойством по умолчанию, т.е. если для ActiveCell не указы­вать никаких свойств, то будет считаться, что происходит об­ращение к свойству Value

NumberFormat / Формат числа

Строка, содержащая формат числа (см. меню Формат/ Ячейки/Число/(все форматы))

Horizontal Alignment / Выравнивание по горизонтали

Может быть одним из: xlHAlignCenter — по центру; xHAlignJustiry — по ширине; xlHAlignLeft — по левому краю; xlHAlignRight — по правому краю; xlHAlignCenterAcrossSelection — по центру выделения; xlHAlignFill — с заполнением; xlHAlignGeneral — по значе­нию

Vertical Alingrnent / Выравнивание по вертикали

Может быть одним из: xlVAlignBottom — по нижнему краю; xlVAHgnCenter — по центру; xlVAlignJustify — по высоте; xlVAlignTop — по верхнему краю

Formula / Формула

Строка, содержащая формулу (например, = А1 + В1)

Orientation / Ориентация

Направление размещения текста в ячейке: целое число от -90 до 90 (угол в градусах)

Font / Шрифт / ActiveCell, Selection, Cells, Range

Шрифт объекта с наименованием, размером и другими свойствами. Не может использоваться без указания принадлежности.

Name/

Наименование

Наименование шрифта (Arial, Times New Roman и т.д.)

Size/ Размер

Размер шрифта в пунктах (8,10,14…)

Italic / Курсив

Установка наклона, логическая вели­чина: True — есть, False — нет

Bold/

Полужирный

Установка полужирного шрифта, логическая величина: True — есть, False — нет

Underline /

Подчеркивание

Установка подчеркивания, логиче­ская величина: True — есть, False — нет

Color / Цвет

Код цвета шрифта, целое число от 0 до 16777215

Interior / Заливка / ActiveCell, Selection, Cells, Range

Заливка объекта. Не может использо­ваться без указания принадлежности

Pattern / Узор

Может быть одним из: xlPatternAutomatic, xlPatternChecker, xlPatternCrissCross, xlPatternDown, xlPatternGrayl6, xlPatternGray25, xlPattemGraySO, xlPaternGray75, xlPatternGrayS, xlPatternGrid, xlPatternHorizontal, xlPattemLightDown, xlPatternLightHorizontal, xlPatternLightUp xlPattemLightVertical, xlPatternNone, xlPatternSemiGray75 и др.

Color / Цвет

Код цвета шрифта, целое число от 0 до 16777215

PattemColor / Цвет шаблона

Код цвета шаблона, целое число от 0 до 167772 15

Продолжение прил. А

1

2

3

Borders / Границы/ Active-Cell, Selection, Cells, Range

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

Color / Цвет

Код цвета границ, целое число от 0 до 16777215

LineStyle / Вид линии

Характеризует вид линии границ, может быть одним из: xlContinuous — сплошная, xlDash — штрих, xlDashDot — штрих-пунктирная, xlDashDotDot — штрих-пунктир-пунктир, xlDot — пунктирная, xlDouble — двойная или xlLineStyleNone — нет линии

Weight/ Толщина

Толщина линии, может быть одним из: xlHairline — еле заметная, xlThick — тонкая, xlMedium — средняя, xlThin — толстая

Borders (Код_границы) / Одна из четырех границ / Active-Cell, Selection, Cells, Range

Те же свойства, как у объекта Borders

Конкретная граница из четырех: Borders(xlEdgeTop) — верхняя, Borders(xlEdgeBottom) — нижняя, Borders(xlEdgeLeft) — левая, Borders(xlEdgeRight) — правая. Не мо­жет использоваться без указания при­надлежности

Cells(№ строки, № колонки)/ Ячейка

Те же свойства, как у объекта ActiveCell

Обращение к ячейке по номеру строки и колонки. Например, ячейке с адресом ВЗ соответствует Cells(3, 2). Если префикс принадлежности не указан, объект Cells считается относящимся к ActiveSheet

Кап§е(«Адрес ячейки или диапазона») / Диапазон / ActiveSheet, Selection

Те же свойства, как у объекта ActiveCell

Обращение к ячейке или диапазону по адресу. Например, Range(«B3») -обращение к ячейке ВЗ; Range(«Al :С2») — к диапазону ячеек А1:С2. Если префикс принадлежности не указан, объект Range считается относящимся к ActiveSheet

Selection / Выбранный диапазон ячеек/ ActiveSheet

Те же свойства, как у объекта ActiveCell

Группа ячеек, выделенных пользователем

Rows. Count / Количество строк

Количество строк в выбранном диапазоне ячеек

Columns.Count / Количество колонок

Количество колонок в выбранном диапазоне ячеек

ПРИЛОЖЕНИЕ В

ОПЕРАТОРЫ VBA

Знак

Действие

Тип

Приоритет

л

возведение в степень

арифметические

1

изменение знака

2

*

умножение

3

/

деление

3

целочисленное деление

4

Mod

остаток от деления

5

+

сложение

6

вычитание

6

&

слияние строк (конкатенация)

строковый

7

=

равно

сравнения

8

не равно

9

меньше

10

больше

11

меньше либо равно

12

=

больше либо равно

13

Like

подобно

14

Is

в точности такой, как

15

Not

НЕ

логические

16

And

И

17

Or

ИЛИ

18

Примечание:

Тип данных

Размер области памяти в байтах

Описание

Integer

2

Целые числа

Long

4

Длинные целые числа

Single

4

Числа с плавающей точкой одинарной точности

Double

8

Числа с плавающей точкой двойной точности

Currency

8

Числа с фиксированной точкой

Byte 1

1

Целые числа от 0 до 255

String

1 байт на 1 символ

Текстовая информация

Date

8

Даты и время

Boolean

2

Логические значения True и False

Object

4

Ссылка на объект

Variant

16 байтов + 1 байт на 1 символ

Любые из перечисленных типов дан­ных. Является типом по умолчанию

Во время вычисления сложных выражений вначале выполняются операторы с меньшими номерами приоритета, затем с большими. Например, в выражении А1Л3 + 10 вначале выполнится возведение в степень, а затем к полученному результату добавится 10. Если операторы имеют одинаковый приоритет, действия выполняются слева направо.

ПРИЛОЖЕНИЕ С

ТИПЫ ДАННЫХ VBA

ПРИЛОЖЕНИЕ D

КОМАНДЫ VBA

Описательные команды

1. Определение переменных
Синтаксис:

Dim As [, As ]

Описание:

Определение имен и типов переменных, использующихся в мак­росах. Типы данных приведены в приложении С.

Примеры:

  1. Dim A As String

  2. Dim I As Byte, J As Boolean, Диапазон_ячеек As Variant

2. Начало и конец макроса типа подпрограммы
Синтаксис:

Public Sub ([])

End Sub

Описание:

Установка начала и окончания блока команд, составляющих мак­рос. Public Sub… указывает начало, a End Sub — конец блока. Все команды, находящиеся между Public Sub… и End Sub составляют собственно макрос и называются телом подпрограммы.

Примеры:

1) Public Sub Проверка_данных()

Dim A As Double

End Sub

2) Public Sub Упорядочивание(Диапазон)

Dim I As Long, J As Long, К I As Long

End Sub

3. Начало и конец макроса типа функции

Синтаксис:

Public Function ([])

End Function

Описание:

Установка начала и окончания блока команд, составляющих функцию. Public Function… указывает начало, a End Function — конец блока. Все команды, находящиеся между Public Function… и End Function составляют процедуру вычисления функции и называются телом процедуры-функции.

4. Начало и конец блока объектных команд

Синтаксис:

With

End With

Описание:

Установка начала и окончания блока команд, работающих с одним и тем же объектом. With … указывает начало, a End With — конец блока. Команды со свойствами, в начале которых стоит знак «.», находящиеся между With … и End With, считаются относящимися к объекту, имя которого указано после служебного слова With.

Примеры:

1) With Range(«Al :C1 «).Font

.Name = «Times New Roman»

.Size =10

End With

Исполнительные команды

1. Присваивание

Синтаксис:

=

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

Примеры:

  1. ActiveCell.Font.Size = 14

2. Выполнение действий по условию («Если»)

Синтаксис:

1) If Then

[]

[Else

]

End If

  1. If Then [] [Else Действия, если ложь]

  2. If Then

[]

Elself Then

[]

Elself Then

[]

[Else

]

End If

Описание:

Если условие истинно, выполняются действия после служебного слова Then. Если ложно — действия после служебного слова Else.

Примеры:

1) If А 100 Then

В= 100

Else

В = 0

С=1

End If

2) If Cells(l, 3) = «+» Then Cells(3, 3) = 21

3. Выполнение действий по значению

Синтаксис:

Select Case

Case

=

[Case

= ]

[Case Else

не совпадает ни с одним значением]

End Select

Описание:

Вначале вычисляется выражение, находящееся после Select Case. Полученное значение последовательно сравнивается со всеми значениями в предложениях Case. Если получено равенство, вы­полняются действия после соответствующего предложения Case.

Примеры:

1) Select Case A

Casel

В = «А равно 1»

Case 2

В = «А равно 2»

Case Else

В = «Переменная А не равна 1 или 2»

End Select

2) Select Case Range(«B 1»)

Case «»

Range(«Bl») = 0

Case Is 100

Range («Bl»)= 100

Case Is

Range(«Bl») = 0

End Select

4. Циклические вычисления по счетчику

Синтаксис:

For = То [Step ]

Next

Описание:

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

Примеры:

1) For I = 1 То 100

А = А+1 Nextl

2) For R = 2 То 20 Step 2

X=X^R

S=S+X

NextR

5. Циклические вычисления по условию

Синтаксис:

1) Do While

Loop

2) Do ШШ

Loop

3) Do

Loop While Условие

4) Do

Loop Until

Описание:

Повторение вычислений до тех пор, пока не выполнится некоторое условие. Формы Do…Loop (1-й и 3-й варианты синтаксиса) со служебным словом While повторяют вычисления, если — истина. Как только оно становится ложным, вычисления прекращаются. Формы Do…Loop со служебным словом Until (2-й и 4-й варианты синтаксиса) повторяют вычисления, если ложно. Если оно становится истинным, вычисления прекращаются. В первом и во втором случае проверяется до начала выполнения цикла, в третьем и четвертом — после. Поэтому команды в циклах третьего и четвертого типа всегда исполняются хотя бы один раз.

Примеры:

1) Do While Count

А = А+1 Loop

2) Do

S = S + Cells(I, J)

Loop Until S 100

ПРИЛОЖЕНИЕ Е

ФУНКЦИИ РАБОТЫ С ЧИСЛАМИ

Abs Модуль числа

Atn Арктангенс

Cos Косинус

Ехр Степень числа е

Hex Шестнадцатиричный формат числа

Int/Fix Целая часть числа

Log Натуральный логарифм

Oct Восьмеричный формат числа

Rnd Генерация случайного числа

Sgn Получение знака числа

Sin Синус

Sqr Квадратный корень числа

Тап Тангенс

Описание функций работы с числами:

Abs (число)

Возвращает абсолютное значение числа, указанного в качестве аргумента функции. Например, обе функции Abs(-l) и Abs(1) воз­вращают значение 1.

Atn (число)

Возвращает значение в радианах арктангенса для числа, указанно­го в качестве аргумента функции. Результат находится в диапазоне от —71/2 до тс/2.

Cos (число)

Возвращает значение косинуса для числа, указанного в качестве аргумента функции. Результат находится в диапазоне от-1 до 1.

Ехр (число)

Возвращает степень числа е (основание натурального логарифма) для числа, указанного в качестве аргумента функции. Константа е приближенно равна 2,718282.

Hex (число)

Возвращает шестнадцатиричный формат числа, указанного в ка­честве аргумента функции.

Int (число)

Fix (число)

Обе функции возвращают целую часть числа, указанного в качестве аргумента. Если аргумент — положительное число, то результат в обоих случаях одинаковый. Например, функции Int (8.9) и Fix (8.9) возвращают значение 8, Различие между функциями проявляется в случае отрицательного аргумента. Функция Int возвращает первое отрицательное целое число, меньшее или равное значению аргумента, в то время, как функция Fix возвращает первое отрицательное целое число, большее или равное значению аргумента. Например, Int пре­образует -8.4 в значение -9, a Fix преобразует -8.4 в значение -8.

Log (число)

Возвращает натуральный логарифм для числа, указанного в каче­стве аргумента функции. Натуральный логарифм есть логарифм по основанию е. Константа е приближенно равна 2,718282.

Oct (число)

Возвращает восьмеричный формат числа, указанного в качестве аргумента функции.

Rnd

Возвращает случайное число в диапазоне от 0 до 1.

Sgn (число)

Возвращает знак числа, указанного в качестве аргумента функции. Результат равен 0, если аргументом является число 0, равен 1 в слу­чае положительного значения аргумента и равен -1 в случае отрица­тельного значения аргумента.

Sin (число)

Возвращает значение синуса для числа, указанного в качестве ар­гумента функции. Результат находится в диапазоне от -1 до 1.

Sqr (число)

Возвращает значение корня квадратного из числа, указанного в качестве аргумента функции. Значение аргумента должно быть больше или равно 0.

Tan (число)

Возвращает значение тангенса для числа, указанного в качестве аргумента функции.

ПРИЛОЖЕНИЕ F

ОСНОВНЫЕ ФУНКЦИИ ОБРАБОТКИ СТРОК

Asc Код первого символа в строке

Chr Выдает символ по коду

CStr Преобразование числа в строку

InStr Возвращает позицию первого вхождения подстроки

LCase Преобразование всех символов строки в строчные

Left Выделяет символы с левой стороны строки

Len Длина строки

Ltrim/Rtrim/Trim Удаляет пробелы в строке

Mid Выделяет из строки подстроку

Right Выделяет символы с правой стороны строки

UCase Преобразование всех символов строки в прописные

Val Преобразует строку в число

Описание функций обработки строк:

Asc (строка)

Возвращает числовой код первого символа строки. Например, обе функции Asc («А») и Asc («Apple») возвращают число 65.

Chr (число)

Возвращает символ, соответствующий числовому коду, указанному в качестве аргумента. Например, Chr (65) возвращает символ «А».

CStr (число)

Преобразует число, указанное в качестве аргумента, в строку. На­пример, CStr (-459.65) возвращает «-459.65».

InStr (начало, строка!, строка2)

Возвращает позицию первого вхождения подстроки (аргумент «строка2») в исходную строку (аргумент «строка1»). Аргумент «нача­ло» задает начальную позицию для поиска. Пример:

Dim SearchString, Posl, Pos2

SearchString = «XXpXXpXXPXXP»

Posl = InStr (1, SearchString, «P»)

Pos2 = InStr (1, SearchString, «W»)

В данном примере переменная Posl принимает значение 9 (позиция первого вхождения символа «Р» в исходную строку), пе­ременная Pos2 принимает значение 0 (исходная строка не содержит символ «W»).

LCase (строка)

Преобразует все символы строки в строчные. Пример:

Dim SearchString, ResultString

SearchString = «Hello World»

ResultString = LCase (SearchString)

В данном примере переменная ResultString принимает значение «hello world».

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

Возвращает подстроку, выбранную из исходной строки, начиная с первого символа слева. Аргумент «число» задает количество выби­раемых символов. Пример:

Dim SearchString, ResultString

SearchString = «Hello World»

ResultString = Left (SearchString, 5)

В данном примере переменная ResultString принимает значение «Hello».

Len (строка)

Возвращает длину строки. Пример:

Dim SearchString, Result

SearchString = «Hello World»

Result = Len (SearchString)

В данном примере переменная Result принимает значение 11.

Ltrim (строка)

Rtrim (строка)

Trim (строка)

Функция Ltrim удаляет начальные пробелы в строке, Rtrim удаля­ет завершающие пробелы в строке, Trim удаляет и начальные, и за­вершающие пробелы.

Mid (строка, начало, [длина])

Возвращает подстроку, выбранную из строки, начиная с позиции, заданной аргументом «начало». Аргумент «длина» (является необязательным параметром) задает количество выбираемых символов. Если аргумент «длина» не задан, то происходит выбор всех символов, на­чиная с заданной позиции, до конца строки. Пример:

Dim SearchString, Result 1, Result2

SearchString = «Пушкин Александр Сергеевич»

Resultl = Mid (SearchString, 8, 9)

Result2 = Mid (SearchString, 8)

В данном примере переменная Resultl принимает значение «Александр», переменная Result2 принимает значение «Александр Сергеевич».

Right (строка, число)

Возвращает подстроку, выбранную из исходной строки, начиная с первого символа справа. Аргумент «число» задает количество выбираемых символов. Пример:

Dim SearchString, ResultString

SearchString = «Hello World»

ResultString = Right (SearchString, 5)

В данном примере переменная ResultString принимает значение «World».

UCase (строка)

Преобразует все символы строки в прописные. Пример:

Dim SearchString, ResultString

SearchString = «hello world»

ResultString = UCase (SearchString)

В данном примере переменная ResultString принимает значение «HELLO WORLD».

Val (строка)

Преобразует строку в число. Например, функция Val («2457») возвращает значение 2457, Val («2 45 7») возвращает значение 2457, Val («24 и 57») возвращает значение 24.


Подборка по базе: Лабораторная работа 4.pdf, Исхаков А.А. Практическая работа 3 Управление персоналом.docx, Исхаков А.А. Практическая работа 3 Документационное обеспечение , Практическая работа № 5.docx, Контрольная работа в 5 классе по разделу Русские традиции.docx, Воспитательная работа _Программа по половому воспитанию школы на, Практическая работа.pdf, моя аттестационная работа за 2015 год.docx, Контрольная работа материаловедение.docx, Практическая работа 1.doc


Лабораторная работа №5. Макросы Excel.
Цель лабораторной: освоить работу с макросами в Excel на примере создания простейших
макросов.
Макрос – это программный алгоритм действий, записанный пользователем. Часто макросы применяют для выполнения рутинных действий.
В Excel макросы можно создавать двумя способами:
1. С использованием макрорекордера;
2. С использованием редактора Visual Basic.
Для появления в главном меню Excel макросов необходимо открыть настройки (пункт меню «Файл»), перейти в раздел «Настроить ленту» и на панели «Основные вкладки» активировать вкладку
«Разработчик».
Задание 1: Записать макрос поиска уникальных значений в столбце.
Перед записью макросов полезно знать следующее:

Макрос, записанный для работы с диапазоном Excel, будет выполняться только для ячеек этого диапазона. Поэтому если добавить в диапазон новую строку, макрос не будет применяться к ней.

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

В макросе могут содержаться и задачи, не относящиеся к Excel. Процесс макроса может охватывать прочие приложения Office и другие программы, которые поддерживают Visual
Basic для приложений (VBA). Например, можно записать макрос, который сначала обновляет таблицу в Excel, а затем открывает Outlook для ее отправки по электронной почте.
1. В столбец «А» в диапазон А1:А20 ввести числовые значения. Среди них должны быть повторяющиеся значения.
2. Открыть раздел «Разработчик» в главном меню Excel и нажать «Записать макроса».

2
Ввести имя макроса (в нём не должно быть пробелов), указать тип сохранения и описание.
Существует 3 типа сохранения:
— Эта книга (макрос будет доступен только в текущем файле);
— Новая книга (будет создан новый файл, для которого будет создан макрос);
— Личная книга макросов (макрос будет помещён в хранилище макросов, и его можно будет вызвать из различных файлов).
При необходимости макросу можно назначить сочетание клавиш.
3. После нажатия на кнопку «Ок» в модальном окне начнётся запись макроса. Для выбора уникальных значений необходимо выделить столбец А полностью, в разделе «Главное» выбрать «Условное форматирование» — «Создать правило…» и задать стиль для выделения уникальных значений. После этого необходимо вернуться в раздел «Разработчик» и нажать на кнопку «Остановить запись».
4. Для проверки работы макроса необходимо добавить в столбец ещё несколько уникальных и повторяющихся значений, удалить правила условного форматирования со всего листа, а затем перейти в раздел «Разработчик» и нажать на кнопку «Макросы». Из списка предлагаемых макросов выбрать созданный ранее макрос и нажать на кнопку «Выполнить». Результат работы представлен ниже (синим выделены уникальные значения).

3
Задание 2: Записать макрос для добавления новой строки в таблицу и
последующей группировки.
Пример тематики: Староста группы определяет, какие студенты к каким подгруппам относятся. Он опрашивает своих одногруппников, добавляя их в одну из трёх подгрупп. Ему необходимо, чтобы макрос мог добавлять новую строку в таблицу и автоматически группировать студентов по признаку принадлежности к подгруппе. Группировка при этом будет производиться перед добавлением новой строки (чтобы учесть последнего добавленного студента).
Таблица должна состоять из 2-х столбцов: «ФИО», «Подгруппа».
Макрос должен работать следующим образом: при запуске выполнения таблица (кроме шапки) должна быть отсортирована в порядке возрастания номера подгруппы, в конец таблицы должна быть добавлена новая строка.
О добавлении строки говорит появления у двух ячеек новой строки границ.
*Выше было указано, что «Макрос, записанный для работы с диапазоном Excel, будет
выполняться только для ячеек этого диапазона. Поэтому если добавить в диапазон новую
строку, макрос не будет применяться к ней.». Для того, чтобы была возможность обновить стиль
новой строки, необходимо до начала записи макроса выбрать опцию
«Относительные ссылки»
.
Задание 3: Разработка макроса, получающего значение из поля и записывающего
значение в другое поле.
Дополнительная справочная информация по Visual Basic:
1)
http://www.excelworld.ru/stuff/vba_function/15
(справочник функций)
2)
https://vremya-ne-zhdet.ru/vba-excel/tipy-dannykh/
(типы данных)
3)
http://office-guru.ru/excel/samouchitel-po-excel-vba-453.html
(краткий
самоучитель)
Перед выполнением заданий необходимо также ознакомиться с основами
объектной модели Excel:
1)
https://docs.microsoft.com/ru-ru/visualstudio/vsto/excel-object-model-
overview?view=vs-2019
Макросы, записываемые с помощью макрорекордера не позволяют выполнять сложные операции. Из- за этого приходится разбивать логику подобных операций на небольшие действия, которые в свою очередь могут быть разбиты на большое число макросов. Другим способом создания макросов является написание их на языке Visual Basic.

4
Каждый макрос пишется на данном языке, даже тот, что был записан через рекордер. Код записанного макроса можно посмотреть, если в списке макросов выбрать нужный и нажать на кнопку «Изменить».
Например, был создан макрос, добавляющий слово «текст» в ячейку А1.
После нажатия на кнопку откроется редактор кода с текстом программы (т.е. макроса VBA – Visual
Basic Application).
Макросы можно запускать не только через интерфейс главного меню, а через графические компоненты.
В данном задании необходимо разработать макрос, который будет брать содержимое одной ячейки, помещать в другую ячейку и удалять из первой. Макрос при этом будет включаться по нажатию на кнопку.
Для добавления кнопки необходимо перейти в режим «Конструктор» и добавить кнопку в указанное место.

5
При добавлении кнопки необходимо будет создать макрос, который запустится после нажатия на эту кнопку.
Необходимо ввести следующий код:
Задание 4: Разработка макроса для простых вычислений.
Необходимо разработать макрос, который будет записывать в столбец В квадраты номеров строк.
В столбец C необходимо записывать слова «четное», «нечетное» в зависимости от того, является ли номер строки чётным или нечётным числом.
Макрос также должен рисовать диаграмму
Запуск макроса необходимо выполнять по нажатию на кнопку.
Для обхода строк можно использовать оператор цикла For.
Задание 5: Разработка макроса, строящего столбчатую диаграмму
Необходимо разработать макрос, который на основании данных из таблицы будет строить столбчатую диаграмму.
Таблица должна иметь следующий вид:
Студент/Предмет Предмет 1 Предмет 2 Предмет 3
ФИО 1
Оценка 1
Оценка 2
Оценка 3
ФИО 2
Оценка 1
Оценка 2
Оценка 3
ФИО 3
Оценка 1
Оценка 2
Оценка 3
, где ФИО – ФИО одногруппников (можно взять нескольких), Предмет – название одного из предметов текущего семестра, Оценка – оценка за предмет по окончании семестра (придумать).
Таблица должна располагаться на Листе №1.
Диаграмма должна строиться на Листе №2, который должен создаваться автоматически.
Для работы с диаграммами в Excel используются объекты Charts.
Для указания области, из которой будут браться данные для построения диаграммы, можно воспользоваться следующей записью: .SetSourceData Source:=Worksheets(1).Range(«A2:D8»)
В данной записи Worksheets(1) вызывает обращение к первому листу активной книги excel, а в Range() указывается диапазон, из которого надо брать данные.
У диаграммы должна быть легенда и наименование.

Понравилась статья? Поделить с друзьями:
  • Макрос в excel копирование в другой файл
  • Макрос в excel как очистить весь лист
  • Макрос в excel если то примеры
  • Макрос в excel если то пример
  • Макрос в excel для чего нужно