- •Лабораторна робота 1 Ієрархічна структура об'єктів vba. Властивості і методи
- •Продовження табл. 2
- •Закінчення табл. 2
- •Лабораторна робота 2 Організація програм у vba. Редактор Visual Basic
- •Лабораторна робота 3 Типи змінних. Тип даних, обумовлений користувачем. Змінна типу Оbject. Константи.
- •Лабораторна робота 4 Область дії змінної. Персистенція
- •Лабораторна робота 5 Оператори мови vba
- •Лабораторна робота 6 Масиви. Опис і створення масивів. Динамічні масиви
- •Лабораторна робота 7 Масив і діапазон робочого листа. Функції для роботи з масивами
- •Лабораторна робота 8 Убудовані функції vba. Функції користувача
- •Процедура повинна:
- •Лабораторна робота 9 Використання If і Select Case у функціях користувача
- •Лабораторна робота 10 Форма користувача
- •Лабораторна робота 11 Елементи керування
- •Лабораторна робота 12 Робота зі списками
- •Лабораторна робота 13 Розв’язання рівнянь методом послідовних наближень
- •Лабораторна робота 14 Використання методу ChartWizard і вбудованих математичних функцій для виконання фінансових розрахунків
- •Задачі для самостійного розв’язання
- •Список рекомендованої літератури Основна
- •Додаткова
Лабораторна робота 12 Робота зі списками
Елемент керування Listbox застосовується для збереження списку значень. Вибір елементів зі списку виробляється клацанням по ньому. Подвійне клацання по елементі застосовується для виконання яких-небудь дій у програмі, пов'язаних з цим елементом.
Зверніть увагу, що нумерація стовпців у списку і нумерація елементів у списку починається з 0.
Listbox має свої властивості (табл. 29) й методи (табл. 30).
Таблиця 29
Властивість |
Значення |
1 |
2 |
Value |
повертає текст, виділений у списку в даний момент при одиничному виділенні |
ListIndex |
повертає номер обраного елемента списку. Якщо жоден елемент не обраний, повертається – 1. Використовується тільки при одиничному виділенні |
ListCount |
повертає число елементів списку |
TopIndex |
повертає елемент списку з найбільшим номером |
Text |
повертає обраний у списку елемент |
RowSource |
установлює діапазон, що містить елементи списку |
ControlSource |
установлює діапазон (чарунку), куди повертається обраний зі списку елемент |
MultiSelect |
установлює спосіб вибору елементів: Single – вибір тільки 1-го елемента. Multi – вибір декількох елементів ( клацанням чи натисканням клавіші «пробіл»). extended – дозволене використання клавіші “shift” при виборі послідовних елементів списку |
Selected |
логічна властивість: = TRUE, якщо елемент списку обраний, = FALSE у противному разі. Використовується для визначення обраного елемента при множинному виборі |
ColumnCount |
установлює число стовпців у списку |
Закінчення табл. 29
1 |
2 |
ColumnWidths |
установлює ширину стовпців списку. Має строкове значення, наприклад: Column widths=”10; 20” |
TextColumn |
установлює стовпець у списку елементів, з якого повертається як значення властивості Text |
ColumnHeads |
логічна властивість, що визначає, чи виводити в списку заголовки стовпців |
ListStyle |
спосіб виділення (кольором чи прапорцем) |
BoundColumn |
установлює дані, що повертаються властивістю Value. Припустимі значення: - 0 –повертається індекс обраного рядка - Від 1 до кількості стовпців у списку - повертається елемент з обраного рядка, що стоїть у стовпці, заданим значенням BoundColumn |
List |
– повертає елемент списку, що стоїть на перетинанні зазначеного рядка й стовпця. Синтаксис: List (row; column) |
Таблиця 30
Метод |
Виконувана дія |
Clear |
видаляє всі елементи зі списку |
RemoveItem |
видаляє елемент із зазначеним номером. Синтаксис: RemoveItem(index). Метод не працює, якщо список заповнюється з діапазону властивістю RowSource |
AddItem |
додає елемент у список. Синтаксис: Additem ([Item [, varIndex]]). Item-елемент, “строкове вираження”. Varindex – номер елемента, що додається |
Створимо Userform1, виберемо процедуру для події Initialize, на формі створимо кілька списків і заповнимо їх.
Заповнення списку виконується:
1) поелементно, якщо список складається з одного стовпця:
With Listbox1
.Additem “аааа”
.Additem “вввв”
.Additem “сссс”
End With;
2) поелементно, якщо список складається з більш ніж одного стовпця
With Listbox2
.ColumnCount = 2
.Additem “елемент1”
.List(0,1)=“елемент2”
.Additem “елемент3”
.List(1,1)=“елемент4”
End With;
3) масивом, якщо список складається з одного стовпця
With Listbox3
.List=Array(“a”,”b”,”c”,”d”,”e”)
End With;
4) масивом, якщо список складається з більш ніж одного стовпця
With Listbox4
.List=a 'a – створений раніше в програмі масив
End With;
5)з діапазону, куди заздалегідь уведений елемент списку:
With Listbox5
.ColumnCount = 3 '3 стовпці
.RowSource = “A1:C5” 'діапазон зі списком
.ControlSource = “D2” ' чарунка виводу обраного елемента
.BoundColumn = 0 ‘вводимо індекс рядка
End With.
Завдання до лабораторної роботи 12
1. Створити форму, що містить 3 одностовпцевих і 3 багатостовпцевих списки. Заповнити списки, застосовуючи вивчені методи.
2. Створити форму, що містить 3 елементи Listbox, 1 елемент Combobox і дві командних кнопки з написами «→» «←» (вправо, уліво). По натисканню цих кнопок обраний елемент переміщається з Listbox1 у Listbox2 і назад. Combobox1 заповнити з діапазону робочого листа. Передбачити додавання елемента, що не міститься в списку, використовуючи поле введення Combobox1. Доданий елемент передати в робочий лист. Listbox3 заповнити з діапазону змінної величини.