1. vba. Призначення мови, її зв′язок із додатками Office icon

1. vba. Призначення мови, її зв′язок із додатками Office




Скачати 202.81 Kb.
Назва1. vba. Призначення мови, її зв′язок із додатками Office
Дата конвертації09.04.2013
Розмір202.81 Kb.
ТипДокументи

1. VBA. Призначення мови, її зв′язок із додатками Office

VBA так як і Delphi або C++ дозволяє створювати повністю автоматизовані програмні продукти у середовищі пакету Microsoft Office. Вони можуть бути використані для оформлення документації, аналізу даних таблиць, полегшення роботи з базами даних, або просто як засіб для виконання звичайних інженерних розрахунків.

Окрім цього VBA може працювати з даними як звичайна обчислювальна система, така як, наприклад, Delphi або C++. За його допомогою можна програмувати виконання різноманітних обчислень, які можуть бути як самостійними, так і працювати разом із середовищем, наприклад, Excel.

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

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

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

2. VBA.Створення простого макросу за допомогою макрорекордера, його використання

На першому етапі засвоєння VBA можна обмежитись записом коду макросу за допомогою макрорекордера. Для цього не треба мати будь-яких знань по мові програмування. В додатка Office є можливість в автоматичному режимі записати дії користувача при обробці даних у вигляді макросу (коду VBA).

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

Активізувати команду Tools\Macro\Record New Macro, на полі аркуша з'явиться діалогове вікно: Record Macro

  • у поле вікна Macro Name ввести ім'я макросу (по замовченню макросам присвоюються імена: Macro1,Macro2….);

  • у поле вікна: Store Macro In ввести ім'я документу, у якому буде доступний макрос, або вказати: All Documents.

  • у поле: Discription ввести пояснення до суті роботи макросу.


а

У полі: Hot Key Ctrl + ввести латинську літеру, наприклад "а", натискання цієї комбінації ініціює виконання макросу.

Натиснути ОК для початку запису. На екрані з'явиться значок, натискання на затемнений квадратик якого припиняє процес запису і відбувається перехід в основний додаток.

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

^ 3. VBA.Схема структури даних мови, коротка характеристика типів, призначення

5. VBA.Типи даних масив і власний, призначення, приклади

Всі дані можна розділити на 2 групи (рис. 4):

  • прості, характеристики яких (об'єм пам'яті, який під них відводиться, припустимі операції із ними, тощо) визначені системою;

  • складені, які можуть формуватися програмістом, використовуючи прості у певних комбінаціях.

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

Прості змінні

Кожній змінній програми виділяються певні об'єми пам'яті, які залежать від її типу. Наприклад, людина має масу 78.56 кг, а кількість учнів у класі – 35 осіб. Число, яке має дробову частину носить назву дійсне, кількість учнів у класі ціле

Складені типи даних

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

Тип масив

^ Одновимірний масив

Це один із найуживаніших із складених типів даних. Він призначен для зберігання великої кількості даних одного типу. Масив має ім'я, його елементи пронумеровані по зростанню, початок нумерації з 0 (нуля)

^ Багатовимірний масив

Е
лементами масиву можуть бути дані будь-якого типу, в тому числі і типу масив. Двовимірний масив – це одновимірний масив, елементами якого є у свою чергу одновимірні масиви

Рядковий тип даних (String)

Цей тип даних використовується для зберігання рядків – довільної послідовності символів, наприклад "Рядковий тип даних". Він може бути як змінної довжини (до 2 мільярдів символів), так і фіксованої довжини (до 64000 символів), у останньому випадку необхідно при описі вказати максимальну кількість символів рядка.

Власний тип даних (Type)

Цей тип даних – єдина структура, яка може містити у своєму складі дані різного типу. Вона підходить для опису реальних об'єктів, які нас оточують


^ 4. VBA.Умовні оператори(If…, Case…), синтаксис, приклади використання.

Інструкція умовного переходу If…Then…Else…

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

If <умова> Then<інструкція, якщо умова = True> [Else <інструкція, якщо умова = False>], частина у квадратних дужках не обов'язкова.

Якщо кожна <інструкція....> в умовному операторі складає тільки один рядок коду то використовується однорядковий умовний оператор, наприклад:


If Sales > 15000 then Comission = 0.08 Else Comission = 0.05;

або:

Comission = 0.05

If Sales > 15000 then Comission = 0.08

Вираз <умова> може бути як простим, так і складеним, який формується із простих за допомогою логічних операцій розглянутих вище

Інструкція Select Case…(оператор довільної кількості альтернатив)

Якщо треба зробити вибір серед достатньо великої кількості варіантів (більше 5-6) зручніше використовувати інструкцію Select Case:


Select Case <змінна>

Case <СписокЗначеньЗмінної >

[інструції – n] ]

[Case Else

[інструкції_else] ]

End Select


Параметр <вираз> - будь-який числовий, або рядковий вираз. При обробці цієї інструкції виконується порівняння значення <вираз> з кожним елементом із <СписокВиразів>. Кількість блоків Case синтасисом мови не обмежується. Якщо жодна умова не виконана, то виконується інструкція блоку Case Else. Розглянемо приклад визначення тарифу за міжміський телефонний зв'язок(<СписокВиразів > містить: "Миколаїв", "Київ", "Львів":


S
Select Case N

Case is < 5

Discount = 0

Case 6 to 10

Discount = 0.05

Case is > 20

Discount = 0.1

Case Else

Discount = 0.15

End Select
elect Case City,

Case "Миколаїв"

PhoneRate = 345

Case "Київ", “Житомір”

PhoneRate = 245

Case "Львів"

PhoneRate = 195

Case Else

PhoneRate = 0

End Select

^ 7. VBA.Цикли, види циклів, синтаксис, приклади.

Інструкції циклу

Циклічні структури використовуються у випадках, коли необхідно повторити обчислення певної групи операторів заздалегідь визначену, або навіть не визначену кількість разів. Таких структур у VBA є декілька, їх вибір залежить від умов, по виконанню яких треба припиняти роботу інструкції циклу. Коди приклади використання циклів наведено у кінці розділу.

^ Цикл з передумовою.

Виконується поки <умова> залишається True.

Do While <умова>

[інструкції]

Loop

Цикл з передумовою. Виконується поки <умова> залишається False.

Do Until <умова>

[інструкції]

Loop

У циклі з передумовою перед кожним входом у цикл перевіряється поточне значення умови і якщо воно задовольняє вимогам циклу (True для циклу Do While) цикл виконується.

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

Треба відмітити одну особливість розглянутих вище циклів – це невизначеність кількість їх повторень.

При формуванні циклів треба особливу увагу приділяти умовам виходу із циклу, тобто щоб <умова> на протязі виконання циклу змінювалась і в кінці кінців прийняла значення, при якому робота циклу припиняється.

Індексний цикл.

У VBA передбачені два варіанти циклу для яких кількість повторень визначена перед першим входом у цикл – , його синтаксис:


For <лічильник> = <початок> To <кінець> [Step <крок>]

[інструкції]

Next [лічильник]

Параметр <лічильник> - це числова змінна, яка при вході у цикл приймає значення <початок>, потім при кожному черговому вході у цикл до поточного значення <лічильник> автоматично додається значення <крок>, останній може бути як позитивний, так і від'ємний дійсного типу. Цикл закінчується, коли поточне значення <лічильник> перевищить значення <кінець>.

Ще один варіант такого типу циклу – це For Each … Next... Цей цикл дозволяє повторювати виконання групи операторів для кожного елемента масиву. Ця інструкція має наступний синтаксис:

For Each <елемент> In <група>

[інструкції]

Next [елемент]

^ 8.VBA.Процедури та функції(у тому числі з параметрами), створення, передача параметрів, приклади.

Процедура Sub

Створення процедури розглянемо на прикладі обчислення площі трикутника за формулою Герона.

Sub Geron( X, Y, Z, Square)

' у заголовку перелічені формальні параметри процедури

Dim P As Single

P = (X + Y + Z) / 2

Square = Sqr(P * (P - X) * (P - Y) * (P - Z))

End Sub


Call Geron(A, B, C, S) 'виклик процедури, підставлені фактичні параметри.

де Geron –ім'я процедури, формується за правилами як для ідентифікатора;

X, Y, Z –формальні параметри процедури;

A B, C –формальні параметри процедури;

ByVal – інструкція, яка вказує, що перелічені за нею параметри передаються у процедуру по значенню;

При виклику процедури у її тілі створюються локальні змінні із іменами X, Y, Z і в них копіюються дані із фактичних параметрів A,B,C, які були підставлені при виклику. Після закінчення роботи процедури локальні змінні X, Y, Z знищуються. Такий спосіб передачі даних запобігає випадковому псуванню фактичних параметрів при виходу із процедури;

Правила, які треба виконувати при запису /виклику процедури:

- кількість формальних і фактичних параметрів повинні співпадати;

- типи даних формальних і фактичних параметрів попарно повинні співпадати;

- типи даних у фактичних параметрах не вказуються.

Функція Function

Наведемо той же приклад обчислення площі трикутника по формулі Герона, але оформлений як функція.

Function Geron(X, Y¸ Z) As Single

P As Single

P = (X + Y + Z) / 2

Geron = Sqr(P * (P – X) * (P – Y) * (P – Z))

End.

Виклик функції

S = Geron(A, B, C)


Принципові різниці між Sub i Function дві:

  • у тілі функції хоча б один раз повиннен з’явитися оператор присвоєння ре­зультату імені функції;

  • Ім’я функції з фактичними параметрами можна використовувати як звичайну змінну у операторах VBA, наприклад:

S_func = Square(X,Y,Z) + Square_rect(A,B)+Square_Circle(R)

де :

S_func – сумарна площа трьох геометричних фігур;

Square(X,Y,Z) - функція обчислення площі трикутника;

Square_rect(A,B) - функція обчислення площі прямокутника;

Square_Circle(R) - функція обчислення площі круга.


^ 9. VBA.Введення/виведення даних через діалогові вікна, перетворення даних, константи.

Введення та виведення даних

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

^ Обмін даними через діалогові вікна

Введення даних відбувається через через інструкцію InputBox, а виведення через MsgBox. Оператор введення:

Price = InputBox("Введіть ціну Price" , "Введення ціни одиниці виробу" , "146.5")

де:

"Введіть ціну Price" – текст запрошення;

" Введення ціни одиниці виробу " – текст, заголовок вікна;

"146.5" – значення, яке встановлюється по замовченню, текст. Якщо необхідно використовувати як число, то треба виконати перетворення за допомогою спеціальних функцій:

  • CBool перетворює текст у Boolean;

  • CCur перетворює текст у Currency;

  • CInt перетворює текст у Integer;

  • CSng перетворює текст у Single;

  • CVar перетворює текст у Varian;

  • CStr перетворення числа у текст.

Оператор виведення (повна форма):


MsgBox "Ціна виробу Price = " & CStr (Price ), vbInformation, "Інформація"

Призначення аргументів таке ж як і у операторі InputBox
?


v
!
bInformation – константа, яка вказує системі виводити у вікні значок, який відображає сутність інформації. Припустимі значення констант та значки, які вони виводять у поле вікна наведені у таблиці 5.

Якщо значка виводити не потрібно, у відповідно місце у операторі ставиться кома:

MsgBox "Ціна виробу Price = " & CStr (Price ), , "Інформація"

Якщо не потрібно виводити і назву вікна, то приходимо до скороченої форми оператора, який наведено на

Введення даних через форми наведено у розд. 3.9.

За допомогою вікна MsgBox можна не тільки виводити інформацію, але також і вводити, для цього його треба використовувати як функцію:


Code = MsgBox ("Виконувати процедуру ReNames_1_2 ?", vbYesNoCancel)

Змінна Code типу Byte.


В залежності від відповіді користувача (Да, Нет, Отмена) можна розгалужити обчислювальний процес на 3 гілки, значення констант, які будуть присвоєні змінній Code наведені нижче:


vbYes буде 6 , якщо натиснута кнопка Да;

vbNo буде 7 , якщо натиснута кнопка Нет;

vbCancel буде 2, якщо натиснута кнопка Отмена.


^ 10. Відлагодження програм, приклади локалізації помилок.

Відлагодження програм

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

  • Власне відлагодження – це виявлення помилок, які були допущені при кодуванні програми: синтаксичні помилки і логічні помилки.

  • Тестування – встановлення відповідності роботи програми узгодженої специфікації. Його проводять на заздалегідь розроблених тестових прикладах і порівнюють результати, які отримують при роботі програми із тестовими, які розглядаються як правильні. При цьому виявляються як логічні помилки так і помилки алгоритму, у останньому випадку може з'явитися необхідність переробки всього програмного забезпечення.

Помилки можна розділити на дві групи:

а) синтаксичні, тобто це порушення правил запису операторів мови, їх локалізація та виправлення не представляє собою великих проблем, тому що на цьому етапі буде відчуватися допомога компілятора (див. рис. 5, 6), особливо, якщо при кодуванні програми застосовується опція явного опису змінних : Option Explicit. Тому на цій частині відлагодження не будемо зупинятися.

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

Для візуального контролю поточного значення змінної підвести курсор миші до неї (на рис. 20, це Р і поруч випливе її значення у рамці Р = 4.5). Таким чином дуже зручно перевіряти правильність програмного коду, якщо є контрольні розрахунки, які заслуговують довіри. Коли у черговому рядку зустрінеться виклик процедури або функції, то процес покрокового виконання програми продовжиться в них. Такий режим виконання зветься: із заходом у процедуру (Step Into). У випадку, коли процедура вже відлагоджена і її перевірка – недоцільна витрата часу, можна виконати цей рядок за один крок, для цього натиснути комбінацію клавіш [Shift+F8] (Step Over).

Якщо при проході у покроковому режимі поточної процедури з'ясувалося, що тут усе правильно, то натискання комбінації [Ctrl+Shift+F8](Step Out) закінчує виконання поточної процедури і виконання передається оператору, який стоїть безпосередньо за неї, покроковий режим зберігається.

Часто зустрічається ситуація, коли необхідно виконати достатньо велику частину коду без його перевірки, особливо це трапляється у випадках, коли у програмі зустрічаються цикли із великою кількістю проходів. Тут корисна команда: Run to Cursor - клацнути мишкою по рядку, до якого треба перейти, і натиснути комбінацію[Ctrl+F8], відбудеться перехід, проміжні оператори будуть виконані, покроковий режим зберігається.

У більш складних випадках може з'явитися необхідність у постійному візуальному контролю поточного значення певної змінної. Для цього використовується команда Debugging\Add Watch і у діалоговому вікні можна ввести змінні, або вирази, за значеннями яких потрібен постійний нагляд (наприклад, щоб значення виразу не вийшло за певні межі, або не стало від'ємним, тощо, див. рис. 21). У вікні будуть відображатися поточні значення перелічених змінних та виразів. Щоб це вікно постійно було розташовано поверх всіх - клацнути по полю вікна і із контекстного меню вибрати опцію Dock Table.

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

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

Ініціалізація точки переривання виконується установкою курсору введення у певний рядок і натиканні клавіші F9, або клацнути мишкою по лівому полю ліворуч від рядка, при цьому рядок позначається жирною крапкою на індикаторі. Зняти точку переривання – ще раз клацнути кнопкою мишкі по поміченому індикатору, або натиснути клавішу F9.


^ 11. VBA.Форма, візуальні компоненти, призначення, назва, вигляд, розташування


Форми в VBA

Форма в проекті VBA – це діалогове вікно, через яке програма обмінюється з користувачем інформацією: ввести/вивести дані/результати, вибрати їх із запропонованого списка, подати команду на виконання певної операції, тощо.

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

Для вставки форм (першої чи чергової) треба виконати команду Insert\User Form, при цьому на екрані з'являється порожня форма і панель візуальних компонентів (панель елементів із інструментами, рис. 13).

У якості приклада розглянемо створення простої програми обчислення площі трикутника, інтерфейс користувач – програма виконується через форму.

Для того, щоб створити форму у редакторі VBA спочатку треба розробити її вигляд на папері.

Основні компоненти візуального інтерфейсу

У вищенаведеному прикладі використана дуже обмежена кількість візуальних компонентів. Для проектування інтерфейсу для реальних програмних продуктів використовується значно більший набір. Розглянемо найбільш вживані візуальні компоненти VBA із прикладами їх застосування. Форми, на яких подано вигляд розглянутих візуальних компонентів наведено на рис. 22 і 23.

Label – статичний текст, призначено для формування запрошень, пояснень, а також виведення результатів, при цьому до властивості Caption (див. рис. 15), вона містить текст, який потім з'являється на формі, можна звернутися програмним шляхом, наприклад:


Label1.Caption = CStr(A) – у поле властивості Caption візуального компонента з ім'ям Label1 буде виведено значення змінної А, це може бути, наприклад, результат виконання програми, або якесь повідомлення.


TextBox – текстове поле, яке може редагувати користувач, призначено для введення і виведення інформації. Доступ до змісту поля можливий через його властивість Text, у вікні Properties, його можна або очистити, або ввести певне значення, яке буде знаходитись у полі по замовченню. ComboBox – список, який може розкриватися і користувач може вибрати будь-яке значення з нього, якщо потрібного значення нема, його можна ввести у поле списку, додавання і видалення полів у списку можна робити програмним шляхом.


Останній рядок призначено для помітки (відмітки інверсним кольором) 4 (четвертого) елементу списку (рахунок елементів ведеться з 0) по замовченню. Метод AddItem додає новий елемент списку кінець. Якщо необхідно додати елемент списку у певне місце, то використовують інший оператор:

ListBox – це нередагуємий користувачем список, з якого можна вибирати одне, або декілько із запропонованих значень, якщо уся кількість елементів не розміщується у відведеному для нього вікні – по границях вікна з'являються кнопки прокрутки. Поля списку можна додавати і видаляти програмним шляхом. Методи, які використовуються при роботі із цим компонентом, дуже схожі на попередні.

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

CheckBox – прапорець, маленький квадратик, у якому може бути встановлено позначку, при цьому він рахується як активізований. Призначено для вибору одного із двох можливих варіантів: True, або False. Якщо формується група прапорців, то кожен з них приймає значення незалежно один від одного

CommandButton – ініціює виконання певної операції у відповідь на дію користувача(виконання програми, виходу із програми, тощо).

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

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

^ 12. VBA.Подія, обробники подій, формування обробників подій і їх коду, приклади.

Формування обробників подій

Формування заготовки обробників подій для командної кнопки CommandButton виконується просто – достатньо у режимі проектування форми двічи клацнути по ній і система генерує заготовку. У більш складних випадках треба використовувати загальний підхід. Це робиться наступним чином:

вийти на форму;

перейти до коду форми (F7);

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

відкрити список подій у вікні праворуч вверху і вибрати потрібну подіюю.

Після цього на екрані з’явиться заготовка обробника подій

^ 13. VBA.Обмін даними програми з комірками робочого аркуша Excel(читання-запис з-у комірки), приклади.

Дані можна записати в, або прочитати з комірки тільки у випадку, якщо вона активна. Тобто, перед початком операції читання/запису комірку необхідно активізу­ва­ти (зробити активною). Теж саме необхідно зробити і з робочим аркушем:

Відкрити робочу книгу;

Workbooks.Open ("Proba.xls") ‘Proba.xls – ім.’я робочої книги

Відкрити робочий аркуш;

Sheets("Sheet1").Activate, або Sheets ("Sheet1").Select Sheet1 – ім.’я робочого аркушу

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

Активізація комірки виконується за допомогою метода Activate, наприклад: необхідно занести введену ціну виробу у комірку робочого аркуша "С5". Доступ до комірки отримуємо через об'єкт Range. Це може бути комірка, рядок, стовпчик, таблиця, тощо. Приклад використання об'єкту:

Range ("C5").Activate [або Range ("C5").Select)]

Після цього до цієї комірки отримуємо доступ і можемо звертатися до даних, які в неї зберігаються (читання/запис):

Запис у комірку - ActiveCell.Value = Price, читання з комірки Price = ActiveCell.Value

У комірку робочого аркуша можна ввести формулу:

Range ("C5").Formula ="Sum (A2:A5)"

Можна вивести дані у діалогове вікно VBA із комірки робочого аркуша:

MsgBox "Значення ціни Price = " & CStr (ActiveCell.Value)


^ 14. VBA.Команди просування по комірках робочого аркуша Excel, приклади

Для виконання достатньо простих розрахунків по окремим специфічним алгоритмам, які відсутні у Excel, користувач може створювати функції, і потім використовувати як звичайну вбудовану функцію в основному додатку. Наприклад, необхідно створити функцію для обчислення площі трикутника за формулою Герона, трикутник задано довжинами сторін. Для створення функції увійти у редактор VBA і виконати команду Insert\Procedure, на екрані з'явиться діалогове вікно установки параметрів процедури (див. рис. 22):

  • у полі Name ввести ім'я функції, наприклад Square;

  • у полі Type її тип-Function;

у полі Scope встановити Public, щоб вона була доступна у всіх відкритих книгах

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

  • Клацанути правою кнопкою миші на вільній частині операційного меню і із контекстного меню вибираємо пункт Visual Basic. На екрані з'являється панель, з якої вибрати компонент Control ToolBox (панель з візуальними компонентами).

  • Вибирати CommandButton(клацаємо лівою кнопкою миші по компоненту), переносимо курсор у робочий аркуш і формуємо кнопку у відповідному місці.

  • Перейти у режим конструктора розробки додатків Design Mode, клацнувши лівою кнопкою миші по відповідній піктограмі на панелі Visual Basic.

  • Клацнути по кнопці правою кнопкою миші і із контекстного меню вибираємо пункт CommandButton Object, а далі Edit і можна поміняти надпис на кнопці.

Клацнувши двічі по кнопці, виходимо на заготовку обробника подій для кнопки, у якому пишемо код виклику

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

Option Explicit

Public Sub Form1Show()

UserForm1.Show

End Sub

Public Sub Form2Show()

UserForm2.Show

End Sub

Public Sub FormMenu()

MenuBars(xlWorksheet).Reset

MenuBars(xlWorksheet).Menus.Add Caption:="Візуальні компоненти"

MenuBars(xlWorksheet).Menus("Візуальні компоненти").MenuItems.Add _

Caption:="Form1", OnAction:="Form1Show"

MenuBars(xlWorksheet).Menus("Візуальні компоненти").MenuItems. _

Add Caption:="Form2", OnAction:="Form2Show"

MenuBars(xlWorksheet).Menus("Візуальні компоненти").MenuItems. _

Add Caption:="Кінець", OnAction:="TheEnd"

End Sub

Public Sub TheEnd()

End

End Sub


^ 15, VBA.Шляхи запуску макросів у тому числі із робочого аркуша Excel, командні кнопки у робочому аркуші, приклади

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

  • форма - *frm

  • модуль класа - *cls

  • модуль програми - *bas

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

  • Експортувати із робочої книзі компоненти проекту шляхом виконання команди у редакторі VBA : File\Export File, у диалоговому вікні вибрати папку, де буде розташован файл, який експортується, дати йому ім'я і натиснути кнопку ОК.

  • Імпортувати компоненти проекту у іншу робочу книгу шляхом виконання команди у редакторі VBA : File\Import File, у диалоговому вікні вибрати папку, де знаходиться файл, який необхідно імпортувати, відмітити його і натиснути кнопку ОК.

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

адрес комірок, з якими маніпулює програма



Схожі:

1. vba. Призначення мови, її зв′язок із додатками Office iconMicrosoft Excel также иногда называется Microsoft Office
Она предоставляет возможности экономико-статистических расчетов, графические инструменты и, за исключением Excel 2008 под Mac os...
1. vba. Призначення мови, її зв′язок із додатками Office iconЛекція №1. Загальна характеристика елементів мови програмування vba (Visual Basic for Application) Зміст Вступ 1 Мова vba І її можливості 1 Редактор Visual Basic 2
Лекція №1. Загальна характеристика елементів мови програмування vba (Visual Basic for Application)
1. vba. Призначення мови, її зв′язок із додатками Office iconТема. Змінювання іменників за питаннями. Переказування тексту. Роль іменників у реченні. Зв'язок іменників з іншими словами за допомогою закінчень та прийменників. Розбір іменника як частини мови. (Впр. 67-81)
Стю іменників змінюватись за питаннями, розбором іменника як частини мови; формувати вміння встановлювати зв'язок між словами в реченні...
1. vba. Призначення мови, її зв′язок із додатками Office iconПокроково 4 Покроково 4
Служба Office 365 – це безпечний і необмежений доступ до електронної пошти й календарів, веб-застосунки Office Web Apps, обмін миттєвими...
1. vba. Призначення мови, її зв′язок із додатками Office iconПрограма Microsoft Office PowerPoint 2007
Системи опрацювання комп’ютерних презентацій. Програма Microsoft Office PowerPoint 2007
1. vba. Призначення мови, її зв′язок із додатками Office iconНародної творчості І культурно-освітньої роботи обов’язки батьків по вихованню дітей у світлі сімейного кодексу україни
Обов’язок виховувати, ростити дитину – найважливіший обов’язок матері та батька. Це обов’язок не лише перед дитиною, а й перед усією...
1. vba. Призначення мови, її зв′язок із додатками Office iconКількість і призначення учнівських зошитів Кількість робочих зошитів з української мови визначається за класами
Для контрольних робіт з української мови в усіх класах використовують по одному зошиту
1. vba. Призначення мови, її зв′язок із додатками Office iconУрок мандрівка з української мови (3 клас) Тема : Загальне поняття про прикметник. (значення, питання, роль у реченні). Зв’язок прикметника з іменником
Тема: Загальне поняття про прикметник. (значення, питання, роль у реченні). Зв’язок прикметника з іменником
1. vba. Призначення мови, її зв′язок із додатками Office iconК. Д. Ушинський Однією з найважливіших і актуальних проблем сучасної методики викладання української мови в початкових класах є проблема розвитку мовлення молодших школярів. Зрозуміло, що під час вивчення рідної мови
Мова ─ найважливіший, найбагатший і найміцніший зв’язок, що з’єднує віджилі, живущі і майбутні покоління народу в одне велике, історичне...
1. vba. Призначення мови, її зв′язок із додатками Office iconІ. обласні змагання з пішохідного туризму серед учнівської молоді київщини (13 – 17 травня 2012 року) умови дистанції зв'язок “смуга перешкод”
Результат зв’язки на дистанції складається з суми часу проходження дистанції та штрафного часу окремо серед чоловічих, жіночих та...
Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©te.zavantag.com 2000-2017
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи