
- •Методичні вказівки
- •Мовою Visual Basic for Application (vba)”
- •6.040303 Системний аналіз
- •1 Лабораторна робота №1
- •1.1 Теоретичні відомості
- •1.1.1 Функція InputBox
- •1.1.2 Процедура MsgBox
- •Текст процедури
- •Текст процедури
- •Результати роботи програми
- •2 Лабораторна робота №2
- •2.1 Створення макросів
- •2.2 Об’єкт Range, його властивості та методи
- •2.2.1 Деякі властивості
- •2.2.2 Деякі методи
- •2.3 Контрольні питання.
- •3.1.2 Оператор циклу по сімейству об'єктів.
- •3.1.3 Оператори циклу з умовою.
- •3.2 Контрольні питання.
- •3.3 Індивідуальні завдання
- •4 Лабораторна робота №4
- •4.1 Функції користувача
- •Текст програми – функції
- •Текст процедури для виклику функції
- •4.2 Процедури користувача
- •4.3 Контрольні питання
- •4.4 Індивідуальні завдання
- •5 Лабораторна робота №5
- •5.1 Створення нової форми
- •5.2 Деякі властивості та події елементів управління
- •5.3 Створення списків
- •5.4 Створення інтерфейсу користувача
- •Програмний код для кнопки CommandButton1 (подія Click)
- •Програмний код для кнопки CommandButton2 (подія Click)
- •5.5 Контрольні питання
- •5.6 Завдання
- •6 Лабораторна робота №6
- •6.1 Введення та виведення масивів
- •6.2 Контрольні питання
- •6.3 Індивідуальні завдання
- •Література
2 Лабораторна робота №2
Тема: Створення макросів у табличному процесорі Excel.
Мета роботи: вивчення можливості автоматизації обробки даних у Excel за допомогою створення макросів.
2.1 Створення макросів
Задача 2.1. Створити макрос, який виводить на Лист Excel такий текст синього кольору, як на рис. 2.1
Рисунок 2.1 – Результат роботи макросу
При вмиканні механізму запису макросу Excel генерує код на VBA, який відповідає послідовності дій користувача. Таким чином, можна одержати процедуру на VBA без програмування. Проте, запис здійснюється дуже точно, і потрібно бути уважним, виконуючи кожну дію під час запису. Крім того, при перегляді тексту макросу можна побачити, що Excel записує інструкцій більше, ніж передбачається, і деякі частини коду, які не впливають на виконані дії, можна скоротити.
Щоб створити макрос, виконайте такі дії:
Активізуйте клітину, з якої повинен починатися текст, а саме А1.
Виберіть команди Сервис – Макрос – Начать запись. Відкриється діалогове вікно Запись макроса.
Введіть в текстовому полі ім'я макросу. Наприклад, Заголовок. Першим знаком імені макросу повинна бути літера. Заборонені пробіли, можна використовувати символ підкреслення та цифри. В інших полях нічого не змінюємо.
Кнопка ОК починає запис макросу, діалогове вікно закривається.
З'явиться панель інструментів Остановить запись. Треба натиснути на кнопку Относительная ссылка, щоб потім введений текст можна було виводити, починаючи з активної клітинки.
Запишіть текст як на рис. 2.1, починаючи з активної клітинки.
Виділіть весь текст та задайте для нього такі параметри шрифту: ім’я – Arial, розмір – 11 пунктів, жирний, синього кольору.
Натисніть на кнопку Остановить запись.
В новому модулі проекту буде записаний текст макросу. Відредагуйте його, перепишіть остаточний варіант та виконайте.
Задача 2.2. Створити власну кнопку для запуску макросу.
В меню Сервис виберіть пункт Настройка, а у вікні, що відкриється, вкладку Команды. В лівому списку Категорії виберіть пункт Макросы. З правого списку Команды за допомогою мишки перетягніть на яку-небудь панель Настраиваемую кнопку.
Не закриваючи вікна Настройка, натисніть на кнопку Изменить выделенный объект. Тепер можна змінити зовнішній вигляд кнопки та назначити їй макрос.
2.2 Об’єкт Range, його властивості та методи
Об'єкт Range – це діапазон клітинок, він є одним із ключових об'єктів VBA. Посилання на діапазон записується в лапках Наприклад, Range(“A1”) , Range(“B2 : D28”).
Об'єкт Cells (s1, s2) – це клітинка, розташована на перетині рядка з номером s1 та стовпчика з номером s2. Наприклад, Cells(1, 2) – це клітинка В1, можливе й посилання Cells(i, j).
Об'єкт ActiveCell – це клітина, яка є в даний момент активною.
Об'єкт Selection – це діапазон клітинок, який утворюється в результаті роботи методу Select.
2.2.1 Деякі властивості
CurrentRegion – це поточний діапазон, обмежений порожніми рядками і стовпчиками, який містить вказаний елемент.
Count – це кількість об'єктів у наборі. Наприклад, змінній k присвоюється значення, яке дорівнює кількості рядків діапазону A1:D4.
k = Range(“A1:D4”) . Rows . Count
EntireRow, EntireColumn – це відповідно рядок або стовпчик, що містять активну клітинку.
Formula – дозволяє ввести формулу до вказаної клітинки. Функції, що використовуються у формулах, повинні бути англійськими. Сама формула записується в лапках. Наприклад,
Range(“C10”) . Formula = ”=sum(C3 : C9) ”
FormulaLocal – дозволяє вводити до вказаної клітинки формули з російськими іменами функцій Excel. Наприклад,
Range(“C10”) . FormulaLocal = ”= СУММ (C3 : C9) ”
Font – завдає властивості шрифту клітини за допомогою власних властивостей:
Name – ім'я шрифту, наприклад, Arial, Times New Roman та ін;
Size – розмір шрифту;
Bold – жирний шрифт, якщо властивість дорівнює True;
Italic – курсив, якщо властивість має значення True;
Underline – підкреслення, якщо властивість дорівнює True.
ColorIndex – номер кольору шрифту.
Наприклад, змінимо параметри шрифту у виділеній області. Для скорочення тексту коду використаємо конструкцію With – End With.
With Selection.Font
. Name = "Arial Cyr"
. Size = 11
. Bold = True
. ColorIndex = 5 ' синій
End With
Interior – встановлює параметри фону області, наприклад, колір.
Offset (row, col) – це діапазон, зсунутий відносно вказаного на row рядків та на col стовпчиків. Додатні значення здійснюють зсув униз та праворуч відповідно, від’ємні – вверх та ліворуч. Значення аргументів можуть дорівнювати 0, тоді зсув у цьому напрямку не відбувається. Наприклад, інструкція
Range(“A1 : C2”) . Offset(2, 1) . Interior . ColorIndex = 6
зафарбовує жовтим кольором діапазон B3 : D4, отриманий з указаного діапазону A1 : C2 зсувом на 2 рядки униз та на 1 стовпчик праворуч.