Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Функції користувача




Убудовані функції VBA.

Лабораторна робота 8

Розглянемо деякі вбудовані функції VBA: математичні (табл.13), перевірки типів (табл.15), визначення типу змінної (табл.14), обробки рядків (табл.16), дати і часу (табл.17).

Таблиця 13

Функція Значення, що повертається
   
Abs (arg) Абсолютна величина числа
Atn (arg) Арктангенс
Cos (arg) Косинус
Exp (arg) Експонента
Log (arg) Натуральний логарифм

Закінчення табл. 13

   
Rnd (arg) Випадкове число з інтервалу [0;1]. Якщо аrg<0, то Rnd повертає одне й те ж число. Якщо arg>0 чи не зазначений, то повертає наступне випадкове число в послідовності. Якщо arg=0, то повертає випадкове число, отримане при попередньому виклику цієї функції. Перед викликом використовується оператор Randomize
Sgn (arg) Знак числа
Sin (arg) Синус
Sqr (arg) Квадратний корінь з аргументу
Tan (arg) Тангенс
Fix (arg) Int (arg) Обидві функції відкидають дробову частину числа і повертають ціле значення. Відмінність: для негативного аргументу Int повертає найближче ціле менше або таке,яке дорівнює аргументу, Fix повертає найближче ціле більше або таке,яке дорівнює аргументу

Таблиця14

Функція Опис
TypeName(<varname>) Повертає строкий вираз, що є ім'ям типу змінної, крім типу, визначеного користувачем
VarType(<varname>) Повертає константу, що відповідає типу змінної Значення, що повертаються:
0 чи vbEmpty 2 чи vbInteger 4 чи vbSingle 6 чи vbCurrency 8 чи vbString 10 чи vbError 12 чи vbVariant 14 чи vbDecimal 1 чи vbNull 3 чи vbLong 5 чи vbDouble 7 чи vbDate 9 чи vbObject 11 чи vbBoolean 13 чи vbDataObject 17 чи vbByte

36 чи vbUserDefinedType (тип, визначений користувачем)

8192 чи vbArray

Наприклад:

Dim B(2) as Integer

VarType(B) ‘ видасть 8194 (8192+2)

Таблиця15

Функція Опис
   
IsArray (varname) Чи є змінна varname масивом
IsDate (varname) Чи є змінна датою
IsEmpty (varname) Чи була змінна оголошена

Закінчення табл. 15

   
IsError (varname) Чи є змінна кодом помилки
IsNull (varname) Чи є змінна порожнім значенням (Null)
IsNumeric (varname) Чи є змінна числовим значенням
IsObject (varname) Чи є змінна об'єктом

Таблиця 16

Функція Опис
Asc Повертає код рядка
Chr Перетворить код у рядок
LCase UCase Перетворить рядок до нижнього чи верхнього регістра відповідно
Len Повертає кількість символів у рядку
Left (String, Length) Повертає перші n символів рядка
Right(String, Length) Повертає останні n символів рядка
Mid (String, start [,length]) Повертає n символів рядка, починаючи з зазначеної позиції
LTrim RTrim Trim Повертає копію рядка без пробілів у її початку, кінці й без пробілів у її початку й кінці відповідно
Space (number) Повертає рядок з n пробілів
String (n,s) Повертає рядок з n символів s
Strcomp Повертає результат порівняння двох рядків Значення: -1 – якщо перший рядок менший другого 0 – якщо рядки рівні 1 – якщо перший рядок більший другий
StrReverse Повертає рядок у зворотному порядку
Replace Знаходить і заміняє в рядку одне підстроювання іншим

Таблиця 17

Функція Опис
Date Повертає значення типу Variant, що містить поточну системну дату
Time Повертає значення типу Variant, що містить поточний системний час
Now Повертає значення типу Variant, що містить поточну дату й час
Hour Повертає години
Minute Повертає хвилини
Second Повертає секунди
Day Повертає день
Month Повертає місяць
Year Повертає рік
Weekday Повертає день тижня

Закінчення табл. 17

   
Timer Повертає число секунд після опівночі
DateDiff Повертає кількість тимчасових інтервалів між двома датами

 

Убудовані діалогові вікна

InputBox служить для введення інформації. Виводить на екран діалогове вікно, що містить повідомлення, поле введення, дві кнопки OK, Cansel.Установлює режим чекання введення тексту користувача й натискання кнопки, а потім повертає значення типу String по натисканню кнопки ОК, що містить текст, уведений у поле введення. При натисканні Cansel повертає порожній рядок Empty. Результат цієї функції завжди рядок.

Синтаксис:

InputBox (Promt [,Title] [,Default] [,Xpos] [,Ypos] [,Helpfile, Context), де

Promt –повідомлення,

Default -поле введення за замовчуванням,

Xpos Ypos -відстань від границі вікна до краю екрана,

Helpfile -відомості про діалогове вікно,

Context -номер розділу довідкової системи.

Наприклад:

X=InputBox («уведіть х», «Приклад»)

If X=Empty then Exit Sub

 

MsgBox служить для виводу інформації.

Синтаксис:

MsgBox (Promt [,Buttons] [,Title] [,Helpfile, Context]), де

Promt –повідомлення,

Buttons – кнопки (за замовчуванням ОК),

Title –заголовок,

Helpfile -відомості про діалогове вікно,

Context -номер розділу довідкової системи.

У VBA є вже розглянуті нами функції для роботи з масивами, перетворення типів і деякі інші.

Функція RGB.

Об'єкти Font і Interior мають властивість Color, використовуване для установки кольору шрифту й кольору заливання чарунок діапазону. Для установки цієї властивості використовується функція RGB(r, g, b), що має аргументи:

Red - червоний

Green - зелений

Blue – синій

Кожний з аргументів являє собою число від 0 до 255. Функція RGB за значенням аргументів формує будь-який колір, змішуючи червоний, зелений і синій компонент різної інтенсивності.

Розглянемо приклад, у якому за допомогою функції RGB у циклі 15 разів міняється колір шрифту «Хлопці, давайте вчити VBA» в чарунці А1.

Public Sub proc1()

Dim x As Integer

Dim t As Integer

Dim z As Integer

Dim u As Integer

Worksheets(1).Activate

Range("A1").Value = "Хлопці, давайте вчити VBA"

With Range("A1").Font

.Size = 20

.Bold = True

For x = 1 To 15

y = Int(255 * Rnd())

z = Int(255 * Rnd())

u = Int(255 * Rnd())

Randomize

.Color = RGB(y, z, u)

MsgBox "властивість Color=RGB(" & y & "," & z & "," & u & ")"

Next x

End With

Range("A1").Clear

End Sub

Відзначимо, що об'єкти Font і Interior мають іншу властивість - ColorIndex, призначене для завдання кольору шрифту й тла відповідно. Значення властивості ColorIndex може бути встановлено рівним будь-якому цілому числу від 0 до 56 (убудована колірна палітра Excel).

Об'єкт Interior має властивості:

- PatternColor. Використовується для установки RGB – кольору штрихування діапазону;

- Pattern. Використовується для установки фонового візерунка внутрішності діапазону. Значення властивості – одна з двадцяти констант Excel;

- PatternColorIndex. Використовується для установки кольору фонового візерунка діапазону в один з 56 кольорів убудованої палітри Excel.

Функції користувача.

Функція Function створюється за допомогою команди Insert/Procedure/Function

Синтаксис:

Function <ім'я функції> (<список аргументів>)

[<тіло функції>]

End Function,

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

Функція зберігається в категорії «визначена користувачем» у майстра функцій. Як правило, функція користувача повертає одне значення, але може повертати й масив значень. Може бути викликана з чарунки робочого листа.

У тілі функції Function обов'язково повинен бути оператор, що привласнює імені функції значення.

Саме ж тіло функції складається з тих же операторів, що й тіло процедури Sub.




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 507; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.025 сек.