- •Основные операторы vba – Условные операторы
- •Примеры написания пользовательских функций в vba
- •Лекция 2
- •Элементы управления
- •Кнопки перехода с листа на лист, об авторе, о памяти пк
- •Лекция 3
- •Элементы управления Переключатель (OttionButton) и Флажок (CheckBox).
- •Программа для табулирования функции на рабочем листе.
- •Пользовательские формы UserForm
- •Форма «Калькулятор»
- •Форма «Корни квадратного уравнения»
Элементы управления
Группа объектов «Элементы управления» позволяет создать индивидуальный интерфейс вашего рабочего листа, автоматизировать работу пользователя. Мы встречались с этими элементами при работе с мастером функций и мастером диаграмм, а теперь научимся создавать такие объекты и связанные с ними коды.
П
Создание элемента начинается с перехода в режим конструктора путем нажатия кнопки «Конструктор» и рисования элемента на рабочем листе как обычного графического объекта. Затем следует задать свойства элемента, перейдя в окно свойств (Propeties). Затем переключиться в окно кода (ViewCode) и набрать текст процедуры, связанной с элементом.
Кнопки перехода с листа на лист, об авторе, о памяти пк
Порядок действий при создании кнопки перехода с листа «содержание» на лист «3 графика» (активным является лист «содержание»):
нажать кнопку «Конструктор»;
выбрать элемент «Кнопка» и нарисовать его на рабочем листе;
нажать кнопку «Свойства» и задать свойство Caption– «На лист «3 графика»», а свойствоNameвместо «CommandButton1» установить «Cmd1»;
нажать кнопку «Исходный текст» и в открывшемся окне кода набрать текст:
Private Sub Cmd1_Click()
Sheets("3 графика").Select
End Sub
После ввода текста процедуры надо отключить режим конструктора. При нажатии на созданную кнопку (щелчок левой кнопкой мыши ) лист «3 графика» станет активным. Важно следить за тем, чтобы имя листа в процедуре ("3 графика"). Абсолютно точно совпадало с именем на ярлычке листа.
Аналогичным образом создать кнопки перехода на листы «2 в 1» и «Поверхность» и обратно на лист «Содержание»
!!!!! Добавить описаниеMSGBOX !!!!!!!!!!!!!!!!!!!!!!!!!!!!
Текст кода к кнопке «Информация об ОП»
Private Sub CommandButton3_Click()
Dim str, str1, str2 As String
str = Application.MemoryFree
str1 = Application.MemoryTotal
str2 = Application.MemoryUsed
MsgBox ("Оперативная память " + str1 + vbCr + " Свободно" + str + vbCr + " Занято" + str2)
End Sub
!!!!!!!!!!!!!!! INPUTBOX !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Текст кода к кнопке «Об авторе»
Private Sub CommandButton1_Click()
Dim Dt As Date
MsgBox ("Лабораторная работа" & "студента Иванова" & "группа Р-1")
Dt = InputBox("Какое сегодня число?")
Sheets("Содержание").Range("a1:d1").Interior.Color = vbYellow
Sheets("Содержание").Range("a1").Font.Color = RGB(255, 0, 0)
Sheets("Содержание").Range("a1") = "Студент Иванов выпоняет работу " & Dt
End Sub
Лекция 3
Переменная
Понятие «переменная используется для временного хранения данных в оперативной памяти. Переменная идентифицирует определенную область ОП – несколько байт, в которых и хранятся данные. Программист не должен явно указывать адреса ячеек ОП, достаточно указать имя переменной. Связь между переменной и ячейками ОП производится на этапе трансляции программы.
Для описания переменных используется оператор Dim<имя переменной>as<тип переменной>
Допустимые типы переменных приведены в таблице
Типы переменных, используемых в VBA
Тип |
Размер (байт) |
Диапазон значений |
Byte(байт) |
1 |
От 0 до 255 |
Boolean(логический) |
1 бит |
True / False |
Integer(целое) |
2 |
От -32765 до 32767 |
Long(длинное целое) |
4 |
От -2147488648 до 2147488647 |
Single(с плавающей точкой обычной точности |
4 |
От -3,402823 Е38 до -1,401298 Е-46 – отрицат. От 1,401298 Е-46 до 3,402823 Е38 – положит. |
Double(с плавающей точкой двойной точности) |
8 |
От -1,798 Е 308 до -4,941 Е-324 – отрицат. От 4,941 Е-324 до 1,798 Е 308 – положит. |
Date(дата) |
8 |
От 1 января 100 г. До 31 декабря 9999 г. |
String( строка) |
Длина строки |
|
Variant |
16 |
|
Пример:
оператор Dim x as Singleозначает, что для вещественной переменнойхзарезервировано 4 байта ОП,
оператор Dim j as Integerозначает, что для целой переменнойjотводится 4 байта ОП
Если переменная никак не описана, то по умолчанию ей присваивается тип Variant.