
- •Міністерство освіти і науки україни
- •Програмування мовою
- •У середовищі Microsoft Excel
- •1 Введення
- •2 Об'єкти Excel, їхньої властивості і методи.
- •2.1 Об'єкт Workbook і сімейство Workbooks
- •2.2 Об'єкт Worksheet і сімейство Worksheets
- •Count - повертає кількість об'єктів у наборі; у прикладі перемінної k присвоюється значення, рівне числу рядків діапазону a1:d4
- •Приклад макроса
- •3 Мова програмування vba
- •3.1 Типи перемінних, оголошення перемінних, область дії перемінних
- •Оператор присвоювання
- •Стандартні діалогові вікна
- •Умовний оператор і оператор вибору.
- •3.5 Оператори циклу
- •Оператор циклу по сімейству об'єктів.
- •4 Створення функцій і процедур користувача
- •5 Створення форм та їх використання
- •5.1 Елементи керування у формах, їхні властивості, методи, події.
- •5.2 Приклади створення форм
- •Література
Count - повертає кількість об'єктів у наборі; у прикладі перемінної k присвоюється значення, рівне числу рядків діапазону a1:d4
k = Range(“A1:D4”). Rows. Count
CurrentRegion - повертає поточний діапазон. Поточним є діапазон, обмежений порожніми рядками і стовпчиками, що містить даний елемент. Діапазон повинний бути оформлений як список. Наприклад, оператор
z=Range(“A1”). CurrentRegion. Rows. Count
у перемінну z записує число рядків поточного діапазону.
EntireRow, EntireColumn - повертає стовпчик і рядок відповідно. У прикладі обчищається рядок і виділяється стовпчик з активною клітиною:
ActiveCell. EntireRow. Clear
ActiveCell. EntireColumn. Select
Formula - задає формулу в клітині; формула задається як рядок символів, записаний по правилах Excel. Наприклад, Range(“D3”). Formula = ”=C3*0,25”
Range(“C10”). Formula = ”=sum(C3:C9)”
Функції, що використовуються у формулах, повинні мати
англійські імена.
FormulaR1C1 - задає формулу в клітині, у якій адреси клітин записуються в стилі R1C1, тобто записується буква R, а після неї - номер рядка, потім буква С и після неї - номер стовпчика. Наприклад, R3C2 відповідає клітині B3. Посилання на клітини можуть бути абсолютними і відносними. Відносні записуються в квадратних дужках як зсув щодо клітини, у якій записується формула. Наприклад,
ActiveCell. Value=24 ‘в активну клітину записуємо 24
ActiveCell. Offset(1,0). Value=7 ‘в клітину під активною - число 7
ActiveCell. Offset(2,0). Select ‘активізуємо клітину на 2 нижче
ActiveCell. FormulaR1C1= ” =R[-2]C[0]+R[-1]C[0] ”
Формула в останньому операторі посилається на клітини, розташовані вище, у які записали числа. Як очевидно з приклада, такого роду адресацію клітин у формулі зручно використовувати, коли не відомо точне місце розташування клітин.
FormulaLocal - повертає російськомовні формули у форматі А1, тобто при запису таких формул необхідно вказувати російські імена функцій Excel. Наприклад, наступна інструкція вводить в клітину В2 формулу:
Range(“B2”). FormulaLocal = ”=СУММ(C1:C4)”
Text - повертає інформацію, що в клітині, в текстовому форматі.
Offset(зсув_по_рядку, зсув_по_стовпчику) - повертає діапазон, усунутий щодо даного на розміри, зазначені в аргументах; наприклад,
ActiveCell. Offset(1,0). Select
активізує клітину, розташовану під активною, тобто усунуту на один рядок униз;
Font - задає властивості шрифту, яким відображається вміст клітини. Має такі власні властивості:
Name - ім'я шрифту; (Arial, Times New Roman, …);
Size – розмір шрифту;
Bold - може бути True або False у залежності від жирності шрифту;
Italic - курсив, якщо властивість встановлена в True;
Underline - підкреслення.
Наприклад, змінимо шрифт, розмір та жирність тексту в клітині:
Range(“A1”). Font. Name = ”Arial”
Range(“A1”). Font. Size = 18
Range(“A1”). Font. Bold = True
Borders - задає межу, що обмережує клітину або діапазон клітин. Має такі власні властивості:
LineStyle - стиль лінії, може приймати значення: xlContinuous (суцільна), xlDouble (подвійна), xlDash (пунктирна);
ColorIndex - колір лінії, указується цілим числом від 1 до 49; приведемо деякі кольори:
-
1 - чорний
2 - білий
3 - червоний
4 - зелений
5 - синій
6 - жовтий
7 - бузковий
8 - блакитний
9 - коричневий
10 - темнозелений
15 - сірий
Weight - товщина лінії, може приймати значення: xlThin (тонка), xlMedium (середня), xlThick (товста).
Наприклад, Range(“B2:D14”). Borders. LineStyle = xlDouble
Range(“B2:D14”). Borders. Weight = xlMedium
Проводить межу навколо діапазону B2:D14 подвійною лінією середньої товщини.
Якщо необхідно задати не всі межі, а тільки частину з них або проводити межі різними лініями, то використовують властивість Borders(параметр). Параметр указує, яка межа задається, і може приймати значення: xlEdgeTop (угорі), xlEdgeBottom (знизу), xlEdgeLeft (зліва), xlEdgeRight (справа).
Наприклад, оператори
Range(“B2:D14”). Borders(xlEdgeTop). LineStyle = xlContinuous
Range(“B2:D14”). Borders(xlEdgeBottom). LineStyle = xlDouble
Range(“B2:D14”). Borders(xlEdgeLeft). LineStyle = xlDash
Range(“B2:D14”). Borders(xlEdgeRight). LineStyle = xlDash
Проводять зверху, знизу, зліва і справа зазначеного діапазону різні типи ліній.
Методи
Copy - копіює діапазон в інший діапазон або в буфер обміну. Має один аргумент destination , що визначає діапазон, куди копіюється вихідний. Якщо аргумент опущений, діапазон копіюється в буфер. Наприклад, копіюємо діапазон А1:С4 з одного листа на інший:
Worksheets(“Лист1”). Range(“A1:C4”). Copy
Destination := Worksheets(“Лист2”). Range(“E5”)
Cut -копіює діапазон із видаленням у зазначений діапазон або буфер обміну. Якщо аргумент destination не зазначений, то діапазон копіюється в буфер обміну.
Delete - видаляє діапазон. У даному прикладі видалиться третій рядок активного робочого листа:
Rows(3). Delete
Columns, Rows - повертає відповідно сімейства стовпчиків і рядків, із яких складається діапазон. Наприклад, у перемінні i та j записуються кількості стовпчиків і рядків у виділеному діапазоні відповідно:
i=Selection. Columns. Count
j= Selection. Rows. Count
Insert - вставка клітини або діапазону клітин відповідно. У прикладі вставляється новий рядок перед четвертим рядком:
Worksheets(“Лист1”). Rows(4). Insert
Select - виділяє діапазон. У прикладі активізується клітина, розташована на три рядка нижче і на два стовпчики лівіше щодо попередньої активної клітини:
ActiveCell. Offset(3,2). Select
PasteSpecial - спеціальна вставка з буфера обміну. Аргумент Paste визначає ту частину вмісту буфера обміну, що повинна бути вставлена в діапазон. Припустимі значення:
XlPasteAll - усе;
XlPasteFormulas - формули;
XlPasteValues - значення;
XlPasteFormats - формати.
У прикладі діапазон А1:Е5 заповнюється цілими випадковими числами від 0 до 200 (в клітинах записані формули), а потім на інший лист копіюються тільки значення з клітин:
Worksheets(“Лист1”).Range(“A1:E5”). Formula = “=int(rand()*200))”
Worksheets(“Лист1”). Range(“A1:E5”). Copy
Worksheets(“Лист2”). Range(“A1:E5”). PasteSpecial _
paste:=xlPasteValues
AutoFill - автоматично заповнює клітини діапазону елементами послідовності. Вручну цей метод еквівалентний протягуванню маркера заповнення уздовж діапазону, що заповнюється. Аргументи:
Destination - діапазон, що заповнюється. Повинний містити в собі вихідний діапазон із початковими даними;
Type - тип заповнення, може приймати одне зі значень: xlFillDefault, xlFillSeries, xlFillCopy, xlFillValues, xlFillDays.
У прикладі клітини В2:В12 заповнюються непарними числами від 1 до 21:
Range(“B2”). Value=1
Range(“B3”). Value=3
Range(“B2:B3”). AutoFill destination:=Range(“B2:B12”)
Find - використовується для пошуку клітини, що містить зазначену інформацію. Повертає покажчик на знайдену клітину або значення Nothing, якщо не знайдено. Вручну метод Find визивається через пункти меню Правка, Найти. Аргументи:
What - указує, що шукати в діапазоні;
After - указується перша клітина, після якої провадиться пошук; якщо аргумент опущений, то пошук провадиться у всьому діапазоні;
Lookin - область пошуку; припустимі значення: xlFormulas - формули, xlValues - значення;
LookAt - припустимі значення: xlWhole – збіг клітини цілком, xlPart – збіг тільки частини клітини.
У прикладі відшукується й активізується клітина, що містить мінімальне з чисел діапазону:
Range(“E6”). Formula = “=Min(B2:E5)”
Range(“B2:E5”).Find(Range(“E6”).Value, , xlValues, xlWhole).Select
Sort - метод здійснює сортування рядків списків і баз даних, а також стовпчиків робочих листів з урахуванням до трьох критеріїв, по яких провадиться сортування. Синтаксис:
Об'єкт. Sort (key1,order1,key2,order2, key3,order3)
Key - посилання на поле, по якому провадиться сортування;
Order - задає порядок сортування. Припустимі значення:
XlAscending - зростаючий порядок; XlDescending - убутний порядок;
Наприклад, діапазон А1:С20 робочого листа Лист1 сортується в порядку зростання так, що початкове сортування відбувається по першому стовпчику цього діапазону, а другорядне - по другому:
Range(“A1:C20”). Sort key1:=Range(“A1”), key2:=Range(“B1”)