Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Інформатика. Частина 4

.pdf
Скачиваний:
14
Добавлен:
23.02.2016
Размер:
2.75 Mб
Скачать

переходу у VBA.

7.11.Наведіть приклад роботи із циклами у VBA?.

7.12.Як задати масив у VBA?

7.13.Наведіть основні типи процедур, що використовуються у

VBA.

7.14.Як змінити область видимості процедури у VBA.

7.15.Як об’явити процедуру у VBA?

7.16.Наведіть приклад використання вбудованих функцій у VBA

7.17.Як запустити дизайнер форм у VBA?

7.18.Наведіть приклад використання елементу управління у VBА.

8.Література

8.1. Довідка програмного продукту Microsoft Office.

21

ЛАБОРАТОРНА РОБОТА № 18

Вивчення основ VBA Excel.

Мета: ознайомитись з основами програмування в VBA Excel.

1.Завдання

1.1.Вивчити основи програмування в VBA Excel.

1.2.Установити VBA Excel - надбудову DEF.xla та виконати можливі дії.

1.3.Установити VBA Excel - надбудову HideSheet.xla та виконати можливі дії.

1.4.Установити VBA Excel - надбудову SortSheets.xla і виконати можливі дії.

1.5.Установити VBA Excel - надбудову STICK.xls і виконати можливі дії.

1.6.Розглянути роботу макроса SUMM.xls і створити власний з аналогічними функціями.

1.7.Застосувати Excel для аналізу інформації з бази даних.

1.8.Розглянути роботу в Excel з елементами управління.

2.Матеріали й обладнання

Персональний комп’ютер, VBA Excel - надбудови: DEF.xla, HideSheet.xla, SortSheets.xla, STICK.xls, методичні рекомендації до виконання роботи.

3.Вказівки до роботи

Упроцесі виконання роботи рекомендується користуватися довідкою програмного продукту Excel.

4.Теоретичні відомості

VBA (Visual Basic for Applications) — це діалект мови Visual

Basic, який розширює його можливості і призначений для роботи із

22

застосуваннями Microsoft Office й іншими застосуваннями від Microsoft і третіх фірм.

Excel — це найчастіше використовуване з погляду програмування застосування Office.

Стосовно програмування в Office, в переважній більшості випадків працівників підприємств цікавить, як автоматизувати виконання операцій саме в Excel. Найчастіше на підприємствах зустрічаються такі ситуації:

необхідно автоматизувати завантаження даних у таблицю Excel з бази даних, а потім в автоматичному режимі провести обробку цієї таблиці (розрахунки, моделювання і ін.) і подати цю інформацію у стандартному вигляді. На практиці, звичайно, набагато правильніше було б перенести виконання розрахунків (згрупування, обчислення підсумків по группам і ін.) на сервер баз даних, але зазвичай у користувачів для цього немає ні необхідних знань, ні прав для роботи з сервером баз даних. Тому Excel в таких ситуаціях залишається незамінним засобом;

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

дуже часто користувачі, не маючи можливості звернутися до професійних програмістів, самостійно реалізують потрібні їм додатки в таблицях Excel. У безлічі організацій, наприклад, фінансове планування або складання кошторисів ведеться просто у вигляді безлічі файлів Excel (часто зв'язаних між собою). Excel виконує і роль бази даних, і роль клієнтського застосування, і генератора звітів. У таких ситуаціях, звичайно, знову-таки проблема автоматизації постає дуже гостро;

формат файлів Excel зручний не тільки для виведення інформації з бази даних, але і для завантаження введеної вручну інформації в базу даних. Часто на підприємствах інформація з філій, підрозділів, від співробітників і тому подібне збирається у форматі Excel. У результаті з часом виникає питання — як

23

автоматизувати процес завантаження інформації з Excel в базу даних?

на підприємствах часто виникає потреба в синхронізації інформації між файлами Excel і базами даних (або іншими файлами Excel, або файлами DBF і т. п.). Наприклад, потрібно зробити так, щоб при занесенні користувачем інформації у файл

Excel вона відразу ж додавалася в базу даних.

З програмної точки зору Excel, на відміну від Word, найчастіше використовується не для виводу і редагування даних, а для виконання різних розрахунків і відображення їх у спеціальних форматах (графік, звідна таблиця і ін.). Якщо ж обсяг даних великий (наприклад, потрібно зберігати інформацію по замовниках, договорах або постачаннях, то є сенс подумати про зв'язок Excel плюс база даних (така зв'язка може бути дуже зручною і продуктивною).

Упорівнянні з програмним переміщенням по документах Word навігацію по книгах і листах Excel проводити набагато зручніше, оскільки у кожного осередку є своя адреса (і навіть дві адреси — у форматі А1 і у форматі R1C1). Крім того, в Excel є можливість присвоювати імена діапазонам осередків, що також дуже зручно.

Ієрархія стандартних об'єктів у Excel трохи більша. Якщо у Word усе побудовано навколо трьох об'єктів: Application — Document — Range, то в Excel з'являється новий елемент — сторінка, тому головна його ієрархія виглядає так: Application — Workbook (книга)

— Worksheet (сторінка) — Range (діапазон).

УExcel передбачена дуже багата бібліотека вбудованих функцій (статистичних, фінансових, математичних і т. п.), які можна використовувати. Часто саме наявність такої бібліотеки функцій вирішальна при виборі Excel як платформи для побудови застосування.

УExcel вбудовано кілька фактично зовнішніх застосувань, використання яких може бути дуже зручним. Наприклад, звідна таблиця (об'єкт PivotTable) — інтегрований в Excel OLAP-клієнт придбаної Microsoft фірми Panorama Software, QueryTable —

спеціальний об'єкт для роботи з інформацією з бази даних, об'єкт Chart — засіб роботи з діаграмами і тому подібне.

24

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

5.1.Установити VBA Excel - надбудову DEF.xla

Призначення. Вилучає всі порожні рядки і/або стовпці на активній сторінці, на всіх сторінках активної робочої книги або в всіх книгах. Може стати у пригоді при оформлені великої кількості електронних таблиць.

Зробіть надбудову такою, що автоматично під’єднується.

Після цього в меню "Сервіс" з'явиться пункт "DEF". Якщо від’єднати надбудову, то даний пункт автоматично відлучається з меню.

Щоб скористатися надбудовою, виберіть пункт "DEF" у меню "Сервіс".

З'явиться діалогове вікно "DEF". Виберіть, що саме (порожні рядки і/або стовпці) і де саме (на активномій сторінці, в активній книзі або у всіх книгах) хочете вилучити. Натисніть кнопку "ОК". Програма зажадає підтвердження вилучення.

25

5.2. Установити VBA Excel - надбудову HideSheet.xla

Призначення. Робить сторінки невидимими (або знову видимими). Корисно, якщо ви використовуєте в робочій книзі сторінки, які треба уберегти від перегляду сторонніми.

Зробіть надбудову такою, що автоматично під’єднується.

Після цього в контекстному меню ярликів листів з'явиться пункт "Скрыть/отобразить". Якщо від’єднати надбудову, то даний пункт автоматично вилучається з меню.

Клацніть правою кнопкою по ярлику будь-якої сторінки книги і виберіть пункт "Скрыть/отобразить"

З'явиться діалогове вікно "Hidden Sheets". Виберіть необхідну операцію (приховати активну сторінку, приховати всі сторінки, окрім активної, відобразити приховані ) і натисніть кнопку "ОК". Ось і все.

26

5.3.Установити VBA Excel - надбудову SortSheets.xla

Призначення. Сортує сторінки в алфавітному порядку у бік зростання або зменшення. Особливо до речі, якщо у книзі дуже багато сторінок.

Зробіть надбудову такою, що автоматично під’єднується.

Після цього в контекстному меню ярликів листів з'явиться пункт "Відсортувати!!!". Якщо від’єднати надбудову, то даний пункт автоматично вилучається з меню.

Клацніть правою кнопкою по ярлику будь-якої сторінки книги і виберіть пункт "Відсортувати!!!"

З'явиться діалогове вікно "Сортувати листи". Виберіть необхідний тип сортування (у бік зростання або зменшення) і натисніть кнопку "ОК". Справа зроблена!

27

5.4.Установити VBA Excel - надбудову STICK.xls

Призначення. Моментальне створення великої кількості наклейок з адресами для конвертів.

Застосування складається з двох сторінок - "Firms" і "Print". Перший лист - база даних адрес (яку ще треба створити). На другій сторінці готується вибірка адрес із бази для друку.

Додавання адреси:

Для додавання нової адреси в базу даних - подвійний клік на будь-якому порожньому осередку сторінці "Firms". З'явиться віконце "Адреса", в яке треба ввести необхідні дані - адресу і назву фірми, яка має бути унікальною. Якщо в базі даних така назва вже фігурує, то при натисненні кнопки "ОК" нова адреса стане такою, що діє для цієї фірми. Кожного разу коли

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

вбазі даних немає!

Заповніть усі поля і натисніть "ОК".

До речі - адреса зберігається в самому осередку. Назва - в коментарі до цього осередку.

І ще - при додаванні нової адреси адреса додається не в той осередок, який ви вибрали, а в першу порожню в мінімально

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

28

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

Редагування адреси:

Для редагування адреси в - подвійний клік на потрібному осередку. З'явиться віконце "Адреса", яке автоматично підтягнуться дані - адреса і назва фірми. Відредагуйте адресу і натисніть "ОК"

База даних може бути достатньо великою і візуально важко шукатиме потрібний осередок. Цю трудність можна обійти так : клацніть на будь-якому осередку і виберіть в комбо-списку назву потрібної фірми. Адреса вставиться сама. Після внесення змін зміниться адреса в осередку тієї фірми, назва якої стоїть у полі введення (а не тієї, осередок якої був активізований спочатку).

До речі, рядок для назви фірми - комбо-список, який автоматично заповнюється всіма назвами з бази даних (і сортується в алфавітному порядку). Завжди при виборі іншої назви в адресне поле підставляється адреса цієї фірми. Якщо набирається назва, якої в базі немає, то поле очищається.

Вилучення адреси:

Для вилучення адреси спочатку - подвійний клік на потрібному осередку. Якщо шукати потрібний осередок у

29

лом, то клікніть на будь-якому осередку і виберіть потрібну фірму з комбо-списку.

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

На сторінці "Print" двічі клікніть у будь-якому осередку. З'явиться діалогове віконце з двома списками. Лівий список - назви фірм з бази даних адрес. Правий - поки що порожній, його необхідно заповнити потрібними фірмами.

Щоб перенести фірму з лівого списку в правий виділіть потрібну фірму і натисніть на кнопку "Додати". Інший спосіб - подвійне клацання на назві потрібної фірми.

Якщо потрібно роздрукувати всі адреси, то скористайтеся кнопкою "Додати все"

Якщо одну і ту ж адресу потрібно роздрукувати в кількох примірниках поставте прапорець у пункті "Вирішити дублювання". Тільки після цього Ви зможете перенести потрібну назву в правий список необхідну кількість разів.

Щоб вилучити фірму з правого списку виділіть потрібну фірму і натисніть на кнопку "Стерти". Інший спосіб - подвійне клацання на назві цієї фірми.

Вибірка і друк необхідних адрес:

30