Основы офисного программирования и язык VBA


Пример 2.1


Option Explicit

Private Sub CommandButton1_Click() 'Обработчик события Click кнопки "> <" 'Выборочный обмен данными между n- колоночными списками: 'ListBox1 <--> ListBox2

If CommandButton1.Caption = ">" Then Call MoveSelectedItems(ListBox1.ColumnCount, ListBox1, ListBox2) Else Call MoveSelectedItems(ListBox2.ColumnCount, ListBox2, ListBox1) End If End Sub

Private Sub CommandButton2_Click() 'Обработчик события Click кнопки ">> <<" 'Перенос всех данных из одного n-колоночного списка 'в конец другого, возможно, не пустого списка: ListBox1 <--> ListBox2

If CommandButton2.Caption = ">>" Then Call MoveAllItems(ListBox1.ColumnCount, ListBox1, ListBox2) Else Call MoveAllItems(ListBox2.ColumnCount, ListBox2, ListBox1) End If End Sub

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 'Обработчик события DblClick левого списка ListBox1 (имеет параметры!) 'При двойном щелчке выбранный элемент одного n-колоночного списка 'переносится в конец другого списка

Call MoveSelectedItems(ListBox1.ColumnCount, ListBox1, ListBox2) End Sub

Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 'Обработчик события DblClick правого списка ListBox2 'При двойном щелчке выбранный элемент одного n-колоночного списка 'переносится в конец другого списка

Call MoveSelectedItems(ListBox2.ColumnCount, ListBox2, ListBox1) End Sub

Private Sub CommandButton5_Click() 'Обработчик события Click кнопки "OK" 'Перенос данных из списка на лист Excel 'В область, заданную ячейкой с именем "Dom"

Call MoveListToRange(ListBox2.ColumnCount, ListBox2, "Dom") Me.Hide End Sub

Private Sub CommandButton6_Click() 'Обработчик события Click кнопки "Cancel" Me.Hide End Sub

Private Sub ListBox1_Enter() 'Обработчик события Enter, возникающего при получении фокуса

CommandButton1.Caption = ">" CommandButton2.Caption = ">>" End Sub

Private Sub ListBox2_Enter() 'Обработчик события Enter, возникающего при получении фокуса

CommandButton1.Caption = "<" CommandButton2.Caption = "<<" End Sub

Private Sub UserForm_Initialize() 'Обработчик события Initialize формы TwoListsForm 'Заполнение списка ListBox1

Dim MyArray(1 To 5, 1 To 2) As String

MyArray(1, 1) = "Петров" : MyArray(1, 2) = "Музыкант" MyArray(2, 1) = "Сергеев" : MyArray(2, 2) = "Учитель" MyArray(3, 1) = "Гурина" : MyArray(3, 2) = "Актриса" MyArray(4, 1) = "Водкин" : MyArray(4, 2) = "Художник" MyArray(5, 1) = "Козина" : MyArray(5, 2) = "Геолог"

ListBox1.ColumnCount = 2 : ListBox2.ColumnCount = 2 ListBox1.List() = MyArray End Sub

Пример 2.1.

Закрыть окно






Начало  Назад  Вперед