Главная страница
Навигация по странице:

  • Элементы управления

  • TextBox 1

  • Sub CommandButton1_Click() I=4 Do Until Worksheets(“Лист1”).Cells(I,1)=”” I=I+1 Loop J=I-1

  • RowSource

  • Sub CommandButton1_Click() n = UserForm1.ComboBox1.ListIndex + 1 s = 0 For i = 1 To 4

  • ListIndex

  • Caption

  • Sub CommandButton1_Click() i = 4 Do Until Worksheets("Лист").Cells(i, 1) = "" For j = 1 To 4

  • Next j 1: i = i + 1 Loop End Sub Здесь i

  • Задание для выполнения Создать в Excel

  • VBA-7_Списки. Vba простые и комбинированные списки


    Скачать 0.56 Mb.
    НазваниеVba простые и комбинированные списки
    АнкорVBA-7_Списки.doc
    Дата07.09.2018
    Размер0.56 Mb.
    Формат файлаdoc
    Имя файлаVBA-7_Списки.doc
    ТипДокументы
    #24226


    VBA-7. Простые и комбинированные списки
    Пример 1. Пусть имеется список группы, в котором содержатся сведения об оценках, полученных студентами во время сессии (рис. 1).


    Рис. 1 – Рабочий лист Excel со списком группы

    Требуется посчитать средний балл для конкретного студента, выбранного из списка.

    На рабочем листе с помощью панели Элементы управления создана кнопка с надписью «Средний балл».

    Для выбора фамилии студента разработана форма, представленная на рис. 2. На этой форме с именем UserForm1 создан комбинированный список ComboBox1 с надписью «Раскройте список, выберите фамилию, нажмите кнопку» в элементе управления Label1. Командная кнопка с заголовком «Расчет среднего балла» запускает программу расчета. В поле TextBox1 выводится полученный результат, перед этим полем в метке Label2 сделана надпись «Средний балл».


    Рис.2 – Пользовательская форма

    Для кнопки «Средний балл», которая находится на рабочем листе «Лист1», записана программа

    Sub CommandButton1_Click()

    I=4

    Do Until Worksheets(“Лист1”).Cells(I,1)=””

    I=I+1

    Loop

    J=I-1

    UserForm1.ComboBox1.RowSource = "Лист1!b4:b” & J

    UserForm1.Show

    End Sub
    Здесь ”” означает пустую ячейку. В переменной J определяется номер последней заполненной строки в таблице. Затем с помощью метода RowSource заполняется комбинированный список ComboBox1 информацией из ячеек b4:bJ. С помощью метода Show форма вызывается на экран.

    Для кнопки «Расчет среднего балла» записана программа

    Sub CommandButton1_Click()

    n = UserForm1.ComboBox1.ListIndex + 1

    s = 0

    For i = 1 To 4

    b = Worksheets("Лист1").Cells(n + 3, i + 2).Value

    s = s + b

    Next

    a = s / 4

    UserForm1.TextBox1.Text = a

    End Sub
    В этой программе определяется номер выбранного элемента списка посредством свойства ListIndex, а затем высчитывается средний балл. Полученный результат помещается в текстовое окно TextBox1 на форме.
    Пример 2. Пусть требуется по результатам сессии определить фамилии двоечников для списка студентов, представленного на рис.1.

    Создадим форму пользователя, в заголовке которой напишем «Список двоечников» (в свойстве Caption), имя формы изменим на Neud (в свойстве Name). На форме разместим достаточно большой простой список (ListBox1). Тогда программа для некоторой кнопки на рабочем листе может выглядеть следующим образом:
    Sub CommandButton1_Click()

    i = 4

    Do Until Worksheets("Лист").Cells(i, 1) = ""

    For j = 1 To 4

    oc = Worksheets("Лист1").Cells(i, j + 2)

    If oc < 4 Then

    Neud.ListBox1.AddItem Worksheets("Лист1").Cells(i, 2)

    GoTo 1

    End If

    Next j

    1: i = i + 1

    Loop

    End Sub
    Здесь i – номер строки в таблице на рабочем листе «Лист1» со списком группы, он начинается с 4, так как фамилии студентов записываются с четвертой строки.

    В цикле DoLoop просматривается содержимое списка студентов по строчкам до тех пор, пока не встретится пустая ячейка.

    В цикле ForNext проверяются оценки каждого студента и, если встретилась оценка ниже 4, то фамилия такого студента помещается в список на форме. При этом проверять другие оценки этого студента уже не нужно, поэтому оператор GoTo выполняет переход по метке 1, где наращивается номер строки в таблице. В качестве метки может использоваться любое сочетание буквенных и цифровых символов.

    Задание для выполнения

    1. Создать в Excel таблицу, пользовательскую форму, записать для них программы в соответствии с приведенными выше примерами. Опробовать работу программ.

    2. Добавить в таблицу дополнительные сведения о годе рождения студентов, адресе и т.п.

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




    Простые и комбинированные списки


    написать администратору сайта