Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Створити власну функцію користувача Excel, яка б переводила МЕГАБІТИ в КІЛОБАЙТИ



Робота 11. Створення власних функцій користувача засобами Visual Basic.

Мета роботи: виробити практичні навички по створенню власних функцій користувачазасобами VBA

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

VBA - мова програмування (розшифровується як Visual Basic for Application) була розроблена компанією Microsoft. Дана мова не являється самостійною, а призначена лише для автоматизації процесів в пакеті MS Office. VBA широко використовується в Excel, я також в Access, Word та інших програмах пакету.

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

Щоб працювати з VBA кодом, нам потрібен редактор (Visual Basic Editor), який вже є встановлений в Excelпо замовчуванню. Відкрити його можна натиснувши комбінацію клавіш "ALT+F11".

Об'єкти (Objects)

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

Найголовніший об'єкт це Application, що відповідає самій програмі Excel. Далі іде Workbooks (книга),Worksheets (аркуш), Range (діапазон, або окрема комірка).

Наприклад, щоб звернутися до комірки "A1" на аркуші, нам потрібно буде прописати наступний шлях з врахуванням ієрархії:

Application.Workbooks("Архів").Worksheets("Sheet1").Range("A1").

Таким чином звертаються до найменшого об'єкту в Excel - комірки.

Колекції (Collections)

В свою чергу об'єкти мають "колекції". Колекція - це група об'єктів однакового класу. Окремі елемети колекції є також об'єктами. Так, об'єкти Worksheets є елементами колекції об'єкту Worksheet, який містить також й інші колекції та об'єкти:

• ChartObjects (елемент колекції об'єкту ChartObject)

• Range

• PageSetup

• PivotTables (елемент колекції об'єкту PivotTable).

Властивості (Properties)

Кожен об'єкт має властивості. Наприклад, об'єкт Range має властивість Value або Formula.

Worksheets(“Sheet1”).Range(“A1”).Value або Worksheets(“Sheet1”).Range(“A1”).Formula

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

Також, через властивість Formula можна не тільки отримати формулу, але і записати її:

MsgBox Range(“A1”).Formula - отримаємо повідомлення з формулою в комірці "А1";

Range(“B12”).Formula = “=2+6*100” - вписуємо формулу =2+6*100 в комірку B12.

Методи (Methods)

Яким чином ми можемо керувати вмістом діапазону або комірки. Для цього в VBA існують, так звані, методи (команди "що зробити"). При написанні коду методи відділяються від об'єкта крапкою, наприклад:

Range("A1").Select або Cells(1, 1).Select

Даний метод вказує вибрати (Select) комірку "A1".

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

Selection.ClearContents

Тут програма "бере" те, що ми віділили (Selection) та видаляє його вміст (ClearContents).

Хід роботи:

Задача 1.

Створити функцію користувача і протестувати її для набору вихідних даних, наведених у таблиці

a b
10,4 -9,9

 

Для розв’язування цього завдання необхідно насамперед на робочому аркуші Excel створити таблицю, яка буде містити вихідні дані і результати обчислень

 
 

 

 


Завантажте середовище Visual Basic (Alt+F11).

Виконайте команду Insert – Module і у відкритому вікні для запису модуля наберіть наступні команди:

Function func1(a, b)

func1 = (2 * a) / (3 * b)

End Function

Поверніться у робочий аркуш до створеної таблиці значень

 

 


Поставте курсор у комірку С2 і виконайте команди Формулы – Вставить функцию – у меню Категорія оберіть Определенные пользователем – серед всього переліку функцій виберіть func1 і натисніть ОК.

До аргументів функції занесіть адреси комірок А2 та В2 відповідно і натисніть ОК.

У комірці С3 виконайте обчислення за цією ж функцією. Зверніть увагу, що при діленні на нуль у комірці з’являється повідомлення #ЗНАЧ. Спробуйте змінити числове значення у комірці В3 і оцініть результат.

 
 

 

 



Задача 2.

Створити власну функцію користувача Excel, яка б переводила МЕГАБІТИ в КІЛОБАЙТИ.

Відомо, що:

1 Мегабайт = 1024 Кілобайт

1 Мегабайт = 8 Мегабіт

А це значить, що:

1 Мегабіт = 1/8 Мегабайт = 1/8 * 1024 Кілобайт = 128 Кілобайт, тобто

1 Мегабіт = 128 Кілобайт

Розв’язування:

1. На вкладці «Разработчик» перейти в редактор Visual Basic

2. Виконати команду Вставка – Модуль (Insert – Module)

3. Набрати текст функції за зразком

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.