BigEdu.ru
» » » Використання елементів управління в книгах і листах Microsoft Excel
Вернуться назад

Використання елементів управління в книгах і листах Microsoft Excel

Макроси, написані на Visual Basic for Applications, можуть виконувати набагато більше задач, чим макроси, у яких записуються лише натискання клавіш.

В VBA є досить широкий набір вбудованих елементів управління. Серед найбільш часто вживаних можна назвати кнопки, поля введення, списки, перемикачі, написи, лічильники та інші. Використовуючи цей набір і редактор досить легко можна створити будь-який користувацький інтерфейс, який би задовольнив найвибагливішого користувача, крім того, використовуючи можливості мови Visual Basic можна вирішити і автоматизувати практично будь-яку задачу.

Для використання елементів управління в книгах MS Excel необхідне знання мови VBA. Освоївши цю мову програмування, ви зможете додавати різні команди в меню Excel, створювати нові діалогові вікна і складні додатки, призначені для тих користувачів, що раніш не працювали з Excel. Щоб виконувати подібні задачі, не досить уміти записувати і запускати макроси. Але найпростіші дії з елементами управління можна виконувати вдало поєднавши можливість записів макросів і деякі теоретичних відомостей про елементи управління.

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

Створення елементів управління.

Елементи управління створюються при допомозі панелі Элементы управления (Рис.8.5) , яку можна відобразити вибором команди Вид|Панели инструментов|Элементы управления, або натиснувши кнопку Элементы управления панелі інструментів Visual Basic.

Рис.8.5 – Панель інструментів «Элементы управления»

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

Вивчення VBA за допомогою макросів

У попередньому пункті докладно розповідалося про те, як створюються і запускаються макроси. Макроси — це послідовності інструкцій, виконуючи які, Excel здійснює визначені дії. Як уже було сказано, макроси значно підвищують ефективність роботи, оскільки дозволяють уникнути витрат зусиль і часу на виконання повторюваних операцій. При записі макросу виконані користувачем дії і команди записуються у виді операторів, або рядків коду мови VBA. Декілька операторів складають процедуру, а процедури поєднуються в модулі, які можна розглядати як контейнери з кодом програми мовою Visual Basic for Applications.

Для того щоб одержати представлення про те, як записується макрос мовою Visual Basic for Applications, розглянемо приклад конкретної процедури, отриманої при записі макросу.

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

Рис. 8.6 – Таблиця «Рейтинг»

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

1. Відкрийте нову робочу книгу.

2. Виберіть команду Сервис|Макрос|Начать запись.

3. У діалоговому вікні Запис макросу введіть ім'я Рейтинг і клацніть на кнопці ОК.

4. Клацніть на клітинкці B1 і введіть у неї Атестація:.

5. Клацніть на клітинці С1 і введіть у неї =Сегодня().

6. Клацніть на клітинці B2 і введіть у неї Курс.

7. Клацніть на клітинці А3 і введіть Група.

8. Виділіть клітинки А3-А4 і натисніть кнопку Обьеденить ячейки .

9. Клацніть на клітинці В3 і введіть Кількість оцінок.

10. Виділіть клітинки В3-Е3 і натисніть кнопку Обьеденить ячейки

11. Клацніть на клітинці В3 і введіть Середній бал.

12. Виділіть клітинки F3-F4 і натисніть кнопку Обьеденить ячейки.

13. Клацніть на клітинці В4 і введіть 5.

14. Клацніть на клітинці С4 і введіть 4.

15. Клацніть на клітинці D4 і введіть 3.

16. Клацніть на клітинці E4 і введіть 2.

17. Виділіть клітинки A1-F4 і натисніть кнопки (напівтовстий шрифт) та (вирівнювання по центру).

18. Клацніть на клітинці A5 і введіть ФН.

19. Клацніть на клітинці A6 і введіть МХВ.

20. Клацніть на клітинці A7 і введіть УТР.

21. Клацніть на клітинці A8 і введіть ЕК.

22. Клацніть на клітинці A9 і введіть Всього.

23. Клацніть на клітинці В9 і введіть =СУММ(B5:B8).

24. Скопіюйте цю формулу в клітинки С9,D9,E9 протягнувши макер заповнення.

25. В клітинку F5 ведіть формулу =СРЗНАЧ(B5:E5).26. Скопіюйте цю формулу в клітинки F6-F9 протягнувши маркер заповнення.

27. Клацніть на клітинці B5 (це значить, що буде виділена ця клітинка і можна приступати до введення даних).

28. Клацніть на кнопці Зупинити запис.

Для того щоб перевірити результат виконання цього макросу, перейдіть на порожню сторінку, використовуйте команду Сервис|Макрос|Макросы, виберіть макрос під ім'ям Табель і клацніть на кнопці Виконати. На порожньому робочому листі з'явиться таблиця, у якій потрібно вказувати кількість середній бал кожної групи.



Рис. 8.7 - Програмний код макросу в редакторі Visual Basic Editor



Вихідний код мовою VBA

Звичайно, основна мета виконання приведеного вище прикладу полягає не в тому, щоб показати, як створюються макроси, а в тому, щоб зрозуміти, як записується макрос у кодах Visual Basic for Applications. Скористайтеся командою Сервис|Макрос|Макросы, щоб відкрити діалогове вікно Макрос. Виберіть макрос Рейтинг і клацніть на кнопці Изменить. При цьому відкриється вікно редактора Visual Basic Editor, показане на рис. 8.7. Як видно з малюнка, код програми мовою Visual Basic for Applications з'явиться праворуч — у вікні Модуль.

Текст програми буде виглядати так:

Sub Рейтинг()

' Рейтинг макрос

' Макрос записаний 19.12.2003 (computer)

Range("B1").Select

ActiveCell.FormulaR1C1 = "Атестація"

Range("C1").Select

ActiveCell.FormulaR1C1 = "=TODAY()"

Range("B2").Select

ActiveCell.FormulaR1C1 = "Курс"

Range("A3").Select

ActiveCell.FormulaR1C1 = "Група"

Range("A3:A4").Select

Range("A4").Activate

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

End With

Selection.Merge

Range("B3").Select

ActiveCell.FormulaR1C1 = "Кількість оцінок"

Range("B3:E3").Select

Range("E3").Activate

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

End With

Selection.Merge

Range("F3").Select

ActiveCell.FormulaR1C1 = "Середній бал"

Range("F3:F4").Select

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

End With

Selection.Merge

ActiveWindow.SmallScroll ToRight:=-1

Range("B4").Select

ActiveCell.FormulaR1C1 = "5"

Range("C4").Select

ActiveCell.FormulaR1C1 = "4"

Range("D4").Select

ActiveCell.FormulaR1C1 = "3"

Range("E4").Select

ActiveCell.FormulaR1C1 = "2"

Range("A1:F4").Select

Selection.Font.Bold = True

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

End With

Range("A5").Select

ActiveCell.FormulaR1C1 = "ФН"

Range("A6").Select

ActiveCell.FormulaR1C1 = "МХВ"

Range("A7").Select

ActiveCell.FormulaR1C1 = "УТР"

Range("A8").Select

ActiveCell.FormulaR1C1 = "ЕК"

Range("A9").Select

ActiveCell.FormulaR1C1 = "Всього"

Range("B9").Select

ActiveCell.FormulaR1C1 = "=SUM(R[-4]C:R[-1]C)"

Range("B9").Select

Selection.AutoFill Destination:=Range("B9:E9"), Type:=xlFillDefault

Range("B9:E9").Select

Range("F5").Select

ActiveCell.FormulaR1C1 = "=AVERAGE(RC[-4]:RC[-1])"

Selection.AutoFill Destination:=Range("F5:F9"), Type:=xlFillDefault

Range("F5:F9").Select

Range("B5").Select

End Sub

Дії, виконані по ходу створення макросу, записуються в одній або декількох рядках модуля мовою Visual Basic. Причому різні фрагменти модуля офарблюються в різні кольори: для виділення коментарів використовується зелений колір, для виділення ключових слів — синій, а для всіх інших фрагментів — чорний. У випадку запуску цього (або будь-якого іншого) макросу насправді відбувається запуск програми, записаної в кодах Visual Basic for Applications. При запуску модуля виконується кожен рядок програми, записаної на Visual Basic for Applications, і в результаті Excel виконує відповідні дії.

Коментарі

У текст програми, написаної мовою Visual Basic for Applications, можна включити коментарі (рядки, що будуть ігноруватися Excel при виконанні, потрібні для того, щоб повідомити, що виконує програма, або окремі рядки програми). Коментарі в тексті програми починаються з апострофа. У прикладі процедури, розглянутому вище, коментарі виглядають у такий спосіб:

' Рейтинг макрос

' Макрос записаний 19.12.2003 (computer)Тут Excel використовує як коментарі текст, введений раніше у рядках Імя макросу й Описание диалогового окна Запись макроса. Але можна додавати коментарі в будь-яке місце програми, ввівши спочатку апостроф, а потім потрібний текст. Коментарі дуже корисні при написанні складних програм, оскільки вони нагадують про те, що виконує та або інша процедура. Коментар може займати весь рядок або її частину, розташовуючи після оператора мови Visual Basic for Applications і починаючи з апострофа. При виконанні програми всі символи, що стоять за апострофом, будуть ігноруватися.

Заголовок і кінець процедури. Перед коментарем йде рядок, у якому записано:

Sub Рейтинг()

В останньому рядку записано:

End Sub

Це рядки заголовоку і кінеця процедури. Кожна процедура мовою Visual Basic for Applications починається з Sub або Function і закінчується рядком End Sub або End Function. У мові Visual Basic for Applications передбачено два типи підпрограм: процедури і функції. Функції схожі на функції, вбудовані в Excel. На вхід функції надходить деяке значення (або декілька значеннь), потім над цим значенням виконуються визначені дії і повертається результат обчислень. Процедура не повертає значення (хоча з неї можна передати значення за допомогою спеціальних операторів). Параметри, передані у функцію, вказуються в круглих дужках у заголовку. Підпрограма завершується рядком, що містить End Sub або End Function, що повідомляє Excel про те, що досягнуть кінець підпрограми. При досягненні кінця процедури управління передається в процедуру яка викликала цю процедуру. Якщо дана процедура не була викликана з іншої процедури, то керування передається програмі Excel.

Виділення і введення даних, керуючі оператори

Після коментаря процедури ідуть два рядки, у яких записане, що потрібно виділити клітинку В2 і ввести в неї текст:

Range("B1").Select

ActiveCell.FormulaR1C1 = "Атестація"

Оператор Range повідомляє Excel, що необхідно виділити діапазон клітинок. Оскільки в круглих дужках зазначена адреса тільки однієї клітики (В1), Excel виділить тільки клітинку з цією адресою. Наступний оператор повідомляє Excel, що потрібно ввести текст (у даному випадку фразу "Атестація:") у виділену клітинку робочого листа (у даному випадку в клітинка В1).

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

Selection.Font.Bold = True

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

В коді програми можна використовувати символ продовження (підкреслювання). Символ підкреслення наприкінці першого рядка вказує, що запис визначеної дії продовжується в наступному рядку. (Якщо наприкінці рядка немає символу підкреслення, то відповідно до синтаксису Visual Basic for Applications цей рядок розглядається як закінчений оператор.)

Працюючи з Visual Basic for Applications, ви знайдете, що за допомогою операторів виділення, введення даних і керуючих операторів можна виконувати будь-які дії.

Створення діалогових вікон

Одна з переваг роботи з мовою Visual Basic полягає в тому, що користувач може не тільки використовувати засіб запису макросів, але і сам писати програми, що будуть виконувати конкретні дії (наприклад, відкривати діалогові вікна, створені користувачем), тобто те, що не можна зробити за допомогою макросів. Для того щоб відкрити на екрані діалогове вікно з визначеним повідомленням, скористайтеся функцією MsgBox. Синтаксис виклику цієї функції має такий вигляд:

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

В круглих дужках цієї функції стаять аргументи, які може приймати ця функція (квадратні дужки означають, що даний аргумент можна пропустити). Першим аргументом цієї функції є повідомлення (prompt), яке буде з’являтись у діалоговому вікні, buttons – типи кнопок, які будуть використовуватись в вікні ( по замовчуванню буде тільки одна кнопка OK), title – заголовок цього вікна, helpfile і context – відносяться до довідки, яку можна викликати з цього діалогового вікна.

В найпростішому випадку можна використовувати цю функцію з одним аргументом – повідомленням, наприклад, в нашому випадку, в кінці макросу, перед End Sub, введіть:

MsgBox(“Введіть кількість оцінок в кожній групі”)

Вийдіть з редактора перейдіть на новий робочий лист і виберіть команду Сервис|Макрос|Макросы. У діалоговому вікні Макрос виберіть макрос Рейтинг і клацніть на кнопці Выполнить. При виконанні макросу на екрані з'явиться діалогове вікно, як на рис .8.8. Такі діалогові вікна можна використовувати як путівники, що вказують користувачеві, що потрібно робити далі.

Рис. 8.8 - Діалогове вікно, створене з допомогою функції MsgBox.

Введення інформаціїМовою Visual Basic можна написати програми, що будуть виводити на екран запит, або обробляти відповідь користувача. Щоб ввести якусь інформацію, потрібно скористатися функцією InputBox, що виконує практично ті ж дії, що і функція MsgBox, але при роботі з функцією InputBox у діалоговому вікні буде присутній рядок введення. Значення, що користувач введе в цьому рядку, і буде результатом роботи даної функції.

Ця функція має приблизно ж такий синтаксис як і функція MsgBox:

InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])

Тут немає аргумента buttons, проте є два аргумента xpos та ypos які вказують в пікселях, як і де буде розташований рядок введення в діалоговому вікні.

Створимо діалогове вікно з використанням функції InputBox. Перейдіть до модуля, що був створений у ході виконання вправи, і включіть в нього функцію InputBox. Скористайтеся командою Сервис|Макрос|Макросы, щоб відкрити діалогове вікно Макрос. Виберіть макрос Рейтинг і клацніть на кнопці Изменить, щоб відкрити вікно редактора Visual Basic Editor. Знайдіть рядок:

ActiveCell.FormulaR1C1 = "Курс"

Помістіть курсор наприкінці цього рядка і натисніть клавішу , щоб вставити порожній рядок. У наступних двох рядках введіть:

Range("С2").Select

ActiveCell.FormulaR1C1 = InputBox("Введіть курс:")

Рис 8.9. Діалогове вікно, створене з допомогою функції MsgBox

Вийдіть з редактора, а потім перейдіть на нову сторінку і знову виконайте макрос. (Використовуйте команду Сервис|Макрос|Макросы. У діалоговому вікні Макрос виберіть макрос Рейтинг і клацніть на кнопці Выполнить.) При виконанні макросу на екрані з'явиться діалогове вікно, показане на рис.8.9, у яке потрібно ввести ім'я співробітника. Введене ім'я буде розміщено в клітинці С2 робочого листа.

Редагування програм

Перейшовши на сторінку модуля, можна вводити будь-які оператори мови Visual Basic for Applications точно так само, як і текст при роботі з текстовим процесором.

Якщо лист модуля відкритий, можна вставити в програму, розміщену на цій сторінці, текст іншої програми. Щоб додати до однієї програми текст іншої програми, помістите курсор у те місце програми, куди буде уставлений фрагмент іншої програми, і виконаєте команду Вставка|Файл. У діалоговому вікні Вставка файлу вкажіть ім'я файлу, що містить текст програми, яку потрібно додати до тексту програми на сторінці модуля, і клацніть на кнопці ОК.

Отже, без перебільшення можна сказати, що той, хто намагається писати програми мовою Visual Basic for Applications, занурюється в захоплюючий світ програмування. Хоча ви, напевно, ще не зовсім уявляєте собі, яким могутнім засобом є VBA, проте тепер ви знаєте, як з його допомогою створювати макроси, що будуть виконувати різні задачі (наприклад, створювати діалогові вікна і меню). Однак це далеко не усе, що можна робити за допомогою цього засобу програмування. У папці Examples, що зберігається в папці Microsoft Office ви знайдете кілька програм мовою Visual Basic for Applications (якщо при установці Excel були встановленні ці приклади).

Підсумовуючи, можна сказати, що створюючи програми на Visual Basic for Applications, ви зможете автоматизувати, або визначити хід виконання тих або інших задач у додатках Microsoft Office.

ЛІТЕРАТУРА

1. Бухвалов А.В. и др. Финансовые вычисления для профессионалов.- СПб.: БХВ-Петербург, 2001.-320с. ил.

2. Гарнаев А.Ю. Excel, VBA, Internet в экономике и финансах.- СПб.: БХВ-Петербург, 2001.- 816с.:ил.

3. Евдокимов В.В. и др. Экономическая информатика. Учебник для вузов. Под ред. Д.э.н., проф. В.В.Евдокимова. – СПб.: Питер, 1997. – 592с.

4. Згуровський М.З., Коваленко І.І., Міхайленко В.М. Вступ до комп’ютерних інформаційних технологій: Навч.посіб. – К.: Вид-во Європ. ун-ту (фінанси, інформ. системи, менеджм. і бізнес), 2000.- 265 с.

5. Информатика. Базовый курс/ Симонович С.В. и др.- СПб.: Питер, 2000.- 640с.:ил.

6. Карлберг, Конрад. Бизнес-анализ с помощью Excel.: Пер с англ.- К.: Диалектика, 1997.- 448с.: ил.

7. Лук‘янова В.В. Комп‘ютерний аналіз даних: Посібник. – К.: Видавничий центр „Академія”, 2003. – 344с. (Альма-матер)

Внимание, отключите Adblock

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

Скачать
Рефераты по информатике Макроси, написані на Visual Basic for Applications, можуть виконувати набагато більше задач, чим макроси, у яких записуються лише натискання клавіш.
Оценок: 459 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru