Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Private Sub UserForm_Activate()






ListBox1.AddItem " Профессор"

ListBox1.AddItem " Доцент"

5) напишите код процедуры для обработки события Initialize формы, которое происходит, когда форма инициализируется. Процедура заполняет поле со спи­скомComboBox1. Добавьте в поле со списком 4 города.

Private Sub UserForm_Initialize()

ComboBox1.AddItem " Москва"

6) напишите код процедуры для обработки события Click элемен­та " Кнопка" с именем CommandButtonl. Предусмотрите в макросе обработку следующих ситуаций:

а) если не введена фамилия:

If TextBox1 = " " Then _

MsgBox " Вы не ввели фамилию": Exit Sub

б) если не выбра­на в списке должность или не указан город. Свойство ListIndex содержит порядковый номер выбранной в списке строки. Строки в списке нумеруются, начиная с 0. Если не выбрана ни одна строка, свойство ListIndex имеет значение -1.

index = ListBox1.ListIndex

If index = -1 Then _

MsgBox " Вы забыли выбрать должность": Exit Sub

7) для определения того, какое значение было выбрано из списка ListBox1 воспользуйтесь оператором выбора:

Select Case index

Case 0: mes = " Профессор"

Case 1: mes = " Доцент"

End Select

8) занесите введенное в поле TextBox1, выбранное из списка ListBox1 и из поля со списком ComboBox1 значения в список ListBox2 с помощью метода AddItem.

9) для удаления выбранного пункта из списка используется метод RemoveItem Index. Параметр index указывает на порядковый номер удаляемого пункта и является обязательным.

Ind = ListBox2.ListIndex

ListBox2.RemoveItem (Ind)

Предусмотрите ситуацию, когда не отмечена строка в списке при удалении.

 

ЗАДАНИЕ №2.

Измените форму и напишите процедуры для решения задачи согласно варианту:

Варианты заданий

  1. Составьте процедуру, которая запрашивает по отдельности день, месяц и год, затем из введенных значений формирует текстовую строку (например, " Сегодня 1 Мая 2002 года") и выводит ее. Разместите на форме: 1 элемент «Список» (заполните названиями 6 месяцев), 2 элемента «Поле» (для ввода числа и года), 4 элемента «Надпись» (для текста «Введите число», «Введите год», «Выберите месяц» и для вывода сформированной даты), 2 элемента «Кнопка» (для формирования даты и выхода из программы).
  2. Составьте процедуру, которая запрашивает по отдельности фамилию студента, баллы за семестр и баллы за экзамен, затем из введенных баллов формирует рейтинг и выводит текстовую строку (например, " Иванов – рейтинг 90 баллов"). Разместите на форме: 1 элемент «Поле со списком» (заполните фамилиями 6 студентов), 2 элемента «Поле» (для ввода баллов за семестр и за экзамен), 3 элемента «Надпись» (для вывода текста «Введите баллы за семестр», «Введите баллы за экзамен», «Выберите фамилию», 2 элемента «Кнопка» (для формирования рейтинга и выхода из программы). Сформированный текст выведите в окне сообщений (MsgBox).
  3. Составьте процедуру, которая запрашивает по отдельности марку автомобиля, цвет и год выпуска, затем введенные значения в виде текстовой строки добавляет в элемент «Список» (например, " Лада цвет красный 2009 год выпуска"). Разместите на форме: 3 элемента «Список»» (1 список заполните названиями 5 марок автомобилей, 2 список – 5 цветами, 3 список – для вывода сформированного текста), 1 элемент «Поле» (для ввода года выпуска), 4 элемента «Надпись» (для вывода текста «Введите год», «Выберите марку», «Выберите цвет», «Сформированный список»), 2 элемента «Кнопка» (для формирования текста для добавления в список и выхода из программы).
  4. Составьте процедуру, которая запрашивает по отдельности фамилию работника, должность и номер цеха, затем из введенных значений формирует текстовую строку (например, " Мастер Иванов работает в 1 цехе") и выводит ее. Разместите на форме: 1 элемент «Поле со списком» (заполните номерами 6 цехов), 2 элемента «Поле» (для ввода фамилии и должности), 4 элемента «Надпись» (для текста «Введите фамилию», «Введите должность», «Выберите цех» и для вывода сформированного текста), 2 элемента «Кнопка» (для формирования текста для вывода и выхода из программы).
  5. Составьте процедуру, которая запрашивает по отдельности город, улицу, номер дома и номер квартиры, затем введенные значения в виде текстовой строки добавляет в элемент «Список» (например, " Адрес: город Волжский, улица Мира, дом 5 кв.30"). Разместите на форме: 3 элемента «Список» (1 список заполните названиями 5 улиц, 2 список – номерами 5 домов, 3 список – для вывода сформированного текста), 2 элемента «Поле» (для ввода города и номера квартиры), 4 элементов «Надпись» (для вывода текста «Введите город», «Введите квартиру», «Выберите улицу», «Выберите дом»), 2 элемента «Кнопка» (для формирования текста для добавления в список и выхода из программы).
  6. Составьте процедуру, которая запрашивает по отдельности цену, количество и наименование товара, затем из введенных значений формирует текстовую строку (например, " Монитор 1 шт. 5000 руб.") и выводит ее. Разместите на форме: 1 элемент «Список» (заполните названиями 6 товаров), 2 элемента «Поле» (для ввода цены и количества), 4 элемента «Надпись» (для текста «Введите цену», «Введите количество», «Выберите товар» и для вывода сформированного текста), 2 элемента «Кнопка» (для формирования текста для вывода в поле и выхода из программы).
  7. Составьте процедуру, которая запрашивает по отдельности наименование товара, количество товара на складе и количество заказанного товара, затем из введенных значений формирует остаток товара на складе и выводит текстовую строку в окне сообщений (MsgBox) (например, " Сахар – остаток на складе 30 кг."). Разместите на форме: 1 элемент «Поле со списком» (заполните наименованиями 6 товаров), 2 элемента «Поле» (для ввода количества товара на складе и заказанного товара), 3 элемента «Надпись» (для вывода текста «Введите количество заказанного товара», «Введите количество товара на складе», «Выберите товар», 2 элемента «Кнопка» (для формирования остатка товара на складе и выхода из программы).
  8. Составьте процедуру, которая запрашивает по отдельности фамилию студента, номер группы и номер курса, затем введенные значения в виде текстовой строки добавляет в элемент «Список» (например, " Иванов: студент 1 курса 106 группы"). Разместите на форме: 3 элемента «Список» (1 список заполните номерами 5 групп, 2 список – номерами 5 курсов, 3 список – для вывода сформированного текста), 1 элемент «Поле» (для ввода фамилии), 3 элемента «Надпись» (для вывода текста «Введите фамилию», «Выберите курс», «Выберите группу»), 2 элемента «Кнопка» (для формирования текста для вывода и выхода из программы).
  9. Составьте процедуру, которая запрашивает по отдельности число, месяц, год рождения и фамилию, затем из введенных значений формирует дату рождения и выводит текстовую строку в окне сообщений (MsgBox) (например, " Иванов - дата рождения 12 января 1996 года"). Разместите на форме: 3 элемента «Список» (1 список заполните названиями 4 месяцев, 2 список – 4 числами, 3 список – 4 годами), 1 элемент «Поле» (для ввода фамилии), 5 элементов «Надпись» (для текста «Введите фамилию», «Выберите год», «Выберите месяц», «Выберите число» и для вывода сформированного текста), 2 элемента «Кнопка» (для формирования текста даты рождения и выхода из программы).
  10. Составьте процедуру, которая запрашивает по отдельности номер группы, фамилию студента и факультет, затем из введенных значений формирует текстовую строку (например, " Иванов учится на факультете ФЭИ в группе ВВТ-106") и выводит ее. Разместите на форме: 1 элемент «Поле со списком» (заполните названиями 6 групп), 2 элемента «Поле» (для ввода фамилии и факультета), 4 элемента «Надпись» (для текста «Введите фамилию», «Введите факультет», «Выберите группу» и для вывода сформированного текста), 2 элемента «Кнопка» (для формирования текста для вывода и выхода из программы).

Тема №3: «Обращение к ячейкам листа Excel»

Пример 3.

1. Добавьте форму. Разместите на форме 2 элемента " Кнопка" (кнопка CommandButton2 для выхода из программы) и 1 элемент " Надпись".

2. Напишите код процедуры, которая с помощью оператора If…Then…Else…End If окрашивает положительные числа в синий цвет, отрицательные – зеленым, а нуль – красным.

Для создания универсальной программы, т.е. щелчок по кнопке будет форматировать каждую последующую ячейку, нужно использовать переменные в адресе, что позволяет сделать объект Cells.

If X > 0 Then

Cells(Y, 1).Font.ColorIndex = 5

ElseIf X < 0 Then

Cells(Y, 1).Font.ColorIndex = 4

Else

Cells(Y, 1).Font.ColorIndex = 3

End If

Условимся, что номер строки – это Y, а значение ячейки это переменная Х. Опишите в программе до процедуры CommandButton1_Click() эти переменные:

Dim Y As Byte и Dim X As Integer

Примечание: Переменные, объявленные вне процедуры, сохраняют значение после окончания выполнения процедуры. Переменные, объявленные внутри процедуры Sub...End Sub или вовсе не объявленные, при каждом запуске программы обнуляются.

3. Введите 10 чисел (положительных, отрицательных и нулевых) в ячейки столбца А. Проверьте работу программы. Результат окажется нулевым, т.к. переменная Y не изменяет своего значения – это значит Y=0.

4. Добавьте до оператора If строку Y=Y+1. Теперь при каждом щелчке номер строки будет вырастать на 1. Проверьте работу кнопки. Результат окажется неверным, т.к. для программы значение Х тоже нулевое.

5. До оператора If добавьте строку X=Cells(Y, 1). Проверьте работу кнопки и объясните назначение этой строки.

6. Чтобы прослеживать в какой строке происходит форматирование, добавьте до End Sub строку: Range(" B1")=Y. Проверьте работу кнопки и объясните назначение этой строки.

7. Добавьте на форму еще 1 кнопку. Напишите код процедуры, которая окрашивает числа в черный цвет: Range(" A1: A10").Font.ColorIndex = 0, а также прослеживает в какой строке происходит форматирование.

8. Проверьте работу программы: сначала работу 2 кнопки, затем 1 кнопки. В ячейке В1 значение номера строки только вырастает.

9. Обнулите значение Y. Проверьте работу программы.

10. Добавьте на форму еще 1 кнопку. Напишите код процедуры, которая с помощью оператора Select … Case…End Select изменяет размера шрифта по правилу: чем больше число, тем больше значение размера шрифта.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.