Створення простих макросів за допомогою visual basic for application

Мета роботи: Отримати початкові навички по створенню і редагуванню простих макросів в Microsoft Excel

При роботі в Microsoft Excel часто виникають труднощі, пов'язані з введенням інформації в розрізнені осередки великих таблиць, великими обсягами одноманітних обчислень і різних дій. Все це ускладнює роботу користувача і служить джерелом багатьох помилок. Visual Basic дозволяє створювати власні діалоги для введення інформації в таблиці, власні функції для автоматизації роботи, а також для складного моделювання. Крім цього, можна легко автоматизувати форматування і обробку даних в таблицях і, створивши нові кнопки на панелі інструментів або нові команди меню, швидко створювати і вести повноцінні бази даних, не вдаючись до використання інших програм, крім Microsoft Excel.

Для автоматизації багаторазового виконання однакової послідовності складних дій, а також для виконання нестандартних операцій використовують макроси. Макрос - це певна послідовність команд і дій, об'єднаних в групу і виконуваних викликом однієї команди.

Перед тим як створити макрос, необхідно спланувати алгоритм роботи і команди, які він буде виконувати.

Для запису макросу необхідно виконати наступну послідовність дій.

1. У меню Tools (Сервіс) вибрати підміню Macro (Макрос) і команду Почати запис ....

2. Ввести Macro name (Ім'я макросу). Першим символом імені макросу повинна бути буква. Решта символів можуть бути буквами або цифрами. В імені макросу не допускаються пропуски; в якості роздільників слів можна використовувати знаки підкреслення.

3. Для того щоб макрос запускався з клавіатури за допомогою бажаної клавіші, необхідно ввести відповідний символ (букву) цієї клавіші в поле Shortcut Key (Швидкий доступ). Для малих літер використовується поєднання CTRL + буква, а для великих # 8209; CTRL + SHIFT + буква.

4. У поле Store macro in (Зберегти в книзі) вибрати книгу, в якій повинен бути збережений макрос. Щоб макрос був доступний незалежно від того, чи використовується в даний момент Excel, його слід зберегти в особистій книзі в папці XLStart. Щоб створити короткий опис макросу, введіть необхідний текст в поле Опис.

6. Виконати макрокоманди, які потрібно записати.

7. Натиснути кнопку Stop recording (Зупинити запис) панелі інструментів.

Наведемо приклад тексту найпростішого макросу, який призначений для виведення результату множення на екран.

MsgBox "Результат множення дорівнює:" _

CStr (2 * 2), vbOKOnly, "Двічі два"

Пояснимо наведений текст. Ключовими словами Sub і End Sub в мові Visual Basic вказуються початок і кінець процедури (Subroutine). FirstProc - назва створеної нами процедури. Воно може бути будь-яким і містити цифри і символи англійського алфавіту. MsgBox - це процедура мови Visual Basic, яка показує на екрані найпростіший діалог з повідомленням. Запис "Результат множення дорівнює:" # 8209; це повідомлення, яке буде знаходитися всередині діалогу. символ позначає об'єднання двох рядків. Процедура мови Visual Basic CStr (2 * 2) перетворює числовий результат множення в рядок. Константа vbOkOnly повідомляє процедурі MsgBox, що діалог повинен містити тільки одну кнопку ОК. Запис "Двічі два" # 8209; це заголовок діалогу. Більш детальну інформацію про функції MsgBox і про інші функції Visual Basic, а також про їх параметрах можна почерпнути з довідки по мові, яка викликається натисканням клавіші F1. Зверніть увагу на символ підкреслення, який розриває рядок з оператором MsgBox, і попередній йому пробіл. Таким чином, ви можете перенести довгі рядки програми, не порушуючи синтаксису мови Visual Basic.

Наведемо приклад тексту макросу з діалогом для введення інформації.

MyStr = InputBox ( "Введіть число:")

If IsNumeric (MyStr) Then

MsgBox "Результат множення дорівнює:" _

CStr (MyStr * 2), vbOKOnly, "Множення"

Тут InputBox - це функція, яка виводить на екран діалог з пропозицією "Введіть число" і містить поле введення тексту. Введений текст присвоюється змінної MyStr. Якщо рядок містить число (що перевіряється за допомогою функції IsNumeric), то на екран виводиться результат множення.

Для виконання макросу з Microsoft Excel необхідно:

1. в меню Tools (Сервіс) вибрати пункт Macro (Макрос). а потім командуMacros (Макроси ...);

2. вибрати зі списку ім'я того макросу, який потрібно виконати;

3. натиснути кнопку Run (Виконати).

Для виконання макросу з Visual Basic необхідно:

1. в меню Run (Виконати) вибрати пункт Run Macro (Виконати Макрос);

2. вибрати зі списку ім'я того макросу, який потрібно виконати;

3. натиснути кнопку Run (Виконати).

Для налагодження і пошуку помилок в макросах існує можливість їх покрокового виконання. Якщо в меню Debug (Налагодження) клацнути по кнопці Step Into (Крок), то робота макросу буде припинена після виконання поточної команди.

Макрос можна також запустити за допомогою призначеної кнопки на вбудованої або спеціальної панелі інструментів.

Для призначення кнопки запуску макросу необхідно в Microsoft Excel виконати наступні дії:

2. у вікні вибрати підміню Button (Кнопка);

3. задати розмір кнопки;

4. у вікні Assign macro (Призначити макрос об'єкту) вибрати зі списку потрібний макрос;

Для додавання кнопки запуску макросу на панель інструментів необхідно в Microsoft Excel виконати наступні дії:

1. в меню View (Вид) вибрати меню Панелі інструментів. а потім меню Налаштування ...;

3. із списку команд перетягнути команду, що настроюється кнопка на панель інструментів;

4. клацнути лівою кнопкою миші по створеній кнопці;

5. у вікні Assign macro (Призначити макрос об'єкту) вибрати зі списку потрібний макрос;

Послідовність дій при редагуванні макросу:

1. в меню Tools (Сервіс) виберіть пункт Macro (Макрос). а потім командуMacros (Макроси ...);

2. виберіть зі списку ім'я того макросу, який потрібно відредагувати;

3. натисніть кнопку Змінити.

1. встановити курсор на необхідній рядку;

2. в меню Debug (Налагодження) вибрати команду Toggle Breakpoint (Точка переривання). При цьому оператор буде виділено кольором. Так можна встановити кілька точок переривання.

Порядок виконання роботи

1. Вивчіть теоретичні відомості.

2. Створіть макрос для автоматичної нумерації рядків таблиці.

3. Створіть макроси по заданому викладачем варіанту.

4. Створіть кнопки для запуску створених макросів.

5. Збережіть файл з створеними макросами.

6. Перепишіть текст макросів в звіт.

7. Закрийте Visual Basic і Microsoft Excel.

8. Дайте відповідь на контрольні питання за вказівкою викладача.

14.3 Контрольні питання

1. Для чого призначені макроси?

2. Як створити новий макрос?

4. Навіщо потрібен покроковий режим виконання макросу?

5. Яким способом може бути змінений існуючий макрос?

14.4 Завдання для самостійної роботи

1. Створіть макрос для виведення суми чисел в осередках А1 і В1 в осередок С1.

2. Створіть макрос, який встановлює у активної осередку чорний колір фону і переходить на одну клітинку по діагоналі (вниз і вправо).

Лабораторна робота № 15

Схожі статті