Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Создание формы с ComboBox и ListBoxСодержание книги Поиск на нашем сайте
Откроем новый рабочий лист Excel. Перейдем в редактор Visual Basic (Alt+F11) и выберем в меню «Вставка» команду UserForm. В появившейся диалоговой форме разместим два элемента управления ComboBox (Поле со списком) и один элемента управления ListBox (Список). Добавим к этим элементам надписи (Label) «Компания», «Адрес» и «Контактный телефон» соответственно. Также добавим кнопки с названиями ОК и Close (Рисунок 5.6).
Создадим процедуру отклика кнопки Close, которая закрывала бы уже открытую форму. Для этого два раза щелкнем по кнопке и запишем в окне редактирования кода следующее:
Private Sub CommandButton2_Click() Me.Hide End Sub
Рисунок 5.6 — Форма UserForm3 с размещенными
на ней элементами управления На рабочем листе в ячейках А1, В1 и С1 напишем заголовки «Компания», «Город» и «Телефон», а ниже введем 9 соответствующих значений (название компании, местонахождение и контактный телефон).
Затем выделив поочередно массивы этих значений и выбрав в контекстном меню команду Присвоить имя … или вызвав Диспетчер имен (Ctrl+F3),зададим массивам имена соответственно «Company», «City» и «Tel» (Рисунок 5.7).
Рисунок 5.7 — Присвоение имен группам ячеек на листе Excel
Свяжем эти ячейки с элементами управления ComboBox1 и ComboBox2 формы UserForm3. Для этого в их Свойствах укажем в поле RowSource имя соответствующего массива ячеек («Company» и «City»). Теперь создадим процедуру отклика при нажатии на кнопку ОК. Алгоритм предлагается следующий. Пользователь выбирает в окнах Компания и Адрес соответствующие значения и нажимает на ОК. Если компания находится по этому адресу, то в окне Контактный телефон появляется ее номер телефона,если нет,то появляется информационное сообщение о том, что такой компании не существует.
Для этого два раза щелкнем по кнопке ОК в форме User-Form3 в редактореVBAи запишем в окне редактирования следующий код
Private Sub CommandButton1_Click() 'Очистить поле ListBox
Me.ListBox1.Clear flag = 0 ' Цикл по строкам столбцов Компания и Адрес и проверка того,
' соответствуют ли введенные (или выбранные) компании и их адреса ' без учета пробелов в именах (функция Trim) тому, что записано в таблице.
' Если совпадение, то в ListBox заносится соответствующий номер телефона
For i = 1 To 9
If Trim(ComboBox1.Text) = Cells(i + 1, 1) And _ Trim(ComboBox2.Text) = Cells(i + 1, 2) Then
Me.ListBox1.AddItem Cells(i + 1, 3) flag = 1 End If
Next i 'Если соответствия названия компании и адреса не найдено, 'то вывод предупреждающего сообщения If flag = 0 Then MsgBox " Компании " + Trim(ComboBox1.Text) + _ " в городе " + Trim(ComboBox2.Text) + " нет! " End If End Sub
Теперь создадим макрос запуска нашей формы (переименуем ее в Поиск контактного телефона). Для этого в новом модуле «Module3» вставим процедуру:
Public Sub Find()
With UserForm3 Show End With End Sub
Затем создадим на листе Excel кнопку Найти и назначим этой кнопке макрос Find.
Протестируем работу макросов (Рисунок 5.8, 5.9).
Рисунок 5.8 — Положительный результат поиска
|
||||||||
Последнее изменение этой страницы: 2020-11-11; просмотров: 357; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.36.130 (0.006 с.) |