Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по VBA.doc
Скачиваний:
108
Добавлен:
26.08.2019
Размер:
1.04 Mб
Скачать

Vba5. Сортировка чисел в столбце по возрастанию или убыванию с созданием формы

Поместить на лист Excel кнопку CommandButton1 с тем же заголовком Сортировать, а остальные элементы управления и дополнительно кнопку Ok поместим на диалоговую форму с именем Dialog1 и заголовком Параметры сортировки. Для создания этой формы надо переключиться в окно Visual Basic и с помощью кнопки на панели инструментов или через пункт меню Вставка/UserForm создать пустую форму. Она появится в окне Visual Basic. При щелчке мышью по форме появляется также окно Панель элементов, содержащее палитру элементов управления. Теперь остается с помощью кнопки на панели инструментов раскрыть в окне Visual Basic еще окно свойств, установить свойства формы и разместить на ней требуемые нам элементы управления точно так же, как это было сделано на листе Excel (см. рисунок). Такой подход почти освободит лист Excel от элементов управления, но потребует дополнительных усилий при разработке приложения.

Во-первых, теперь в начало событийной процедуры CommandButton1_Click надо вставить команду для показа формы: Dialog1.Show. В этой инструкции записывается имя объекта (имя, присвоенное нами форме) и, через точку, имя метода – показать. Следовательно, как только пользователь нажмет командную кнопку на листе Excel, поверх этого листа появится диалоговое окно. В нем пользователь выберет параметры сортировки и нажмет кнопку Ok (см. второй рисунок, поясняющий эту работу).

Во-вторых, надо написать событийную процедуру для кнопки Ok. Эта процедура должна содержать команду Dialog1.Hide - скрыть форму Dialog1.

В-третьих, в процедурах, принадлежащих листу Excel, а не форме Dialog1, изменится обращение к свойствам элементов управления. Так, теперь надо писать не TextBox1.Value, а Dialog1.TextBox1.Value – так указывается свойство Value (значение) объекта TextBox1 (редактируемое поле), принадлежащего форме Dialog1.

Vba6. Создание приложения для вычисления многочленов

.

В ычислить многочлен пятой степени

и спользуя для вычислений экономичный алгоритм Герона:

  1. На свободном рабочем листе создать командную кнопку с надписью Вычисление многочлена. В программный код кнопки вписать инструкцию UserForm1.Show.

  2. Для добавления к проекту новой формы в окне редактора Visual Basic выполнить команду Вставка/UserForm.

  3. Добавить необходимые элементы управления, используя панель элементов (см.рис.).

  1. Оставаясь в редакторе Visual Basic, двойным щелчком левой кнопки мыши по форме вызвать ее программный код и перейти к разработке модуля.

Сначала опишите массив А, отведенный под коэффициенты многочлена, переменные x и S, не забывая о комментариях.

Dim A(5) ‘ массив для коэффициентов многочлена

Dim x ‘ переменная для значения аргумента

Dim S ‘ переменная для вычисленного значения многочлена.

Затем надо написать процедуры, назначенные полям ввода коэффициентов и аргумента. Следующий пример приведен для А(0):

Private Sub TextBox1_Change() ' ввод коэффициента a0

A(0) = TextBox1.Value

Next_Button.Enabled = True ‘ эта инструкция активизирует кнопку «Вычислить»

End Sub

Необходимо также написать событийную процедуру для кнопки Выход:

Private Sub Cancel_button_Click() ' кнопка "Выход"

Unload Me ‘по русски: «выгрузи меня»

End Sub

Кнопке Вычислить, имеющей имя Next_Button_Click( ), назначим следующую процедуру:

Private Sub Next_Button_Click() ' вычисление по схеме Горнера

S = A(0)

For I = 0 To 4 ' цикл For ... Next

S = S * x + A(I + 1)

Next I

TextBox8.Value = Str(S) ‘ функция Str присваивает переменной S строковый тип

End Sub

Предложенная форма может быть использована и при вычислении многочленов степени меньше пятой, если в соответствующие поля вводить нулевые значения коэффициентов. Возвратившись в Excel и щелкнув по командной кнопке Вычисление многочлена, протестируем созданную форму, вычисляя следующие многочлены:

1 )

2)

3)

Тестирование можно проводить и оставаясь в редакторе VBA (см. раздел 7 «Отладка приложений»).