Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
УПРАВЛЕНИЕ ОБРАЗОВАНИЯ
АДМИНИСТРАЦИИ МУНИЦИПАЛЬНОГО ОБРАЗОВАНИЯ
ГОРОДСКОГО ОКРУГА «ВОРКУТА»
МУНИЦИПАЛЬНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ «ЛИЦЕЙ №1»
ЛАБОРАТОРНЫЕ РАБОТЫ ПО ИНФОРМАТИКЕ
Методические указания по выполнению лабораторных работ VBA
Составитель Яменко Ольга Петровна, учитель информатики
Воркута 2012
В методических указаниях рассмотрены основы работы с VBA.
Методические указания предназначены как для обучающихся основного общего (полного) образования., так и для студентов очно-заочной и заочной форм обучения всех специальностей.
Содержание:
[1] Лабораторная работа №1. «Программирование линейного алгоритма в среде VBA» [1.0.0.1] End Sub
[2] [2.0.0.1] End If [2.0.0.2] End Sub [2.0.0.3] Else [2.0.0.4] Case 1 To 5 [2.0.0.5] Case 6, 7, 8 [2.0.0.6] Case Else
[3] [3.0.0.1] Loop
[4]
[5] [5.1] Начало процедуры
[6] [6.1] Dim St As String [6.1.0.1] Задание 1 |
Цель работы: ознакомиться со средой VBA. Овладеть навыками программирования в VBA.
Задание 1. Программирование линейного алгоритма.
Пример1 : Написать программу вычисления функции f(x)=x2+1 в диалоговом режиме.
В программе нам понадобятся две переменные x и f. Для ввода значения х будем использовать функцию ввода InputBox, а для вывода значения f оператор вывода MsgBox. Переменные х и у опишем как переменные вещественного типа, т.е. Single.
Чтобы попасть в VBA необходимо выполнить команду СервизМакросРедактор Visual Basic или нажать клавиши <Alt>+<F11>. Появиться окно VBA. Для вставки модуля выполним команду ВставкаМодуля (рис.7.).
В открывшемся окне модуля наберите следующую строку Sub PR1() и нажмите клавишу <Enter>. Таким образом у вас будет создан каркас процедуры:
Sub Pr1()
End Sub
Теперь необходимо наполнить этот каркас операторами.
Во-первых, опишем наши переменные x и f Dim x as Single, f as Single
Во-вторых, огранизуем ввод переменной х x = InputBox(“Введите значение х”)
В-третьих, запишем оператор для вычисления f
f = x^2+1
В-четвертых, выведем значение переменной f MsgBox "f=" & Format(f, "###.#0"). Функцию Format использовали для того, чтобы вывести значение функции с 2-мя знаками после запятой. Итак, процедура должна иметь следующий вид:
Sub Pr1()
Dim x As Single, f As Single
x = InputBox("Введите значение х")
f = x ^ 2 + 1
MsgBox "f=" & Format(f, "###.#0")
End Sub
Для запуска программы на выполнение нажмите клавишу <F5>. Для запуска программы с листа Excel необходимо выполнить следующие действия:
Private Sub CommandButton1_Click()
End Sub
Private Sub CommandButton1_Click()
Pr1
End Sub
Пример 2. Написать программу вычисления функции f(x)=x2+1 с использованием ячеек Excel.
Любая ячейка или группа ячеек является объектом Range, который в свою очередь, является производным от объекта Worksheet. Например, для обращения к значению ячейки А1 на втором листе Excel, необходимо использовать следующую конструкцию : Worksheets(2).Range(“A1”)
Итак, оформим программу вычисления функции, причем значение переменной х будем считывать из ячейки листа Excel и значение переменной f, так же будем помещать в ячейку.
Задание 2.
Напишите программу вычисления функции из лабораторной №4 для одного значения х.
|
А |
В |
С |
1 |
Иванов П.С. |
|
|
2 |
оклад |
500 |
|
3 |
северные |
400 |
|
4 |
Итого начислено: |
900 |
|
5 |
подоходный налог |
65 |
|
6 |
Итого удержано: |
65 |
|
7 |
Итого к выплате |
835 |
Задание 3.
Напишите программу вычисления заработной платы для отдельного сотрудника. Исходные данные ФИО, оклад и северные вводить в диалоговом режиме, а расчетный лист сотрудника оформите на втором листе Excel в виде таблицы
Цель работы: овладеть навыками программирования разветвляющихся алгоритмов. Освоить структуру операторов If…Then и Select…Case
Оператор If...Then...Else
Синтаксис этого оператора следующий:
If условие Then [инструкции] [Else инструкции_else]
Допускается также использование блоковой формы синтаксиса:
If условие Then
[инструкции]
[Else
[инструкции_else]]
End If
Простую однострочную форму рекомендуется использовать для коротких, простых проверок. Однако блочная форма обычно проще для чтения, обработки и отладки.
Однострочная форма допускает выполнение нескольких инструкций в результате проверки одного условия If...Then, но все инструкции должны находиться на одной строке и разделяться двоеточием, как в следующем примере:
If A > 10 Then A = A + 1 : B = B + A : C = C + B
Допускаются вложенные блоки инструкций If; то есть блоки If, содержащиеся в других блоках.
Пример 1: Выбрать максимальное из двух введенных чисел. Рассмотрим 2 примера программы-в первой используется строчная форма записи условного оператора, во-второй блочная
Строчная форма записи |
Блочная форма записи |
Sub pr1() Dim x As Integer, y As Integer y = Range("A1") x = Range("A2") If y > x Then Range("A3") = y Else Range("a3") = x End Sub |
Sub pr1() Dim x As Integer, y As Integer y = Range("A1") x = Range("A2") If y > x Then Range("A3") = y Else Range("a3") = x End If End Sub |
Пример2: Вычислить площадь треугольника, если таковой существует.
Sub pr1()
Dim x As Integer, y As Integer, z As Integer
x = Range("A1")
y = Range("A2")
z = Range("A3")
If (x + y) > z And (x + z) > y And (y + z) > x Then
p = (x + y + z) / 2
s = Sqr((p - a) * (p - b) * (p - c))
Range("a4") = s
Else
Range("a4") = "Треугольник с такими сторонами не существует"
End If
End Sub
Оператор Select … Case
Если приходится проверять одно и то же значение в сравнении с различными выражениями, то самым подходящим обычно оказывается оператор Select…Case. Синтаксис этого оператора следующий:
Select Case значение
Case критерий1
(операторы, выполняемые, когда значение удовлетворяет критерий1)
Case критерий2
(операторы, выполняемые, когда значение удовлетворяет критерий2)
…дополнительные операторы Case
Case Else необязательный
(операторы, выполняемые, когда значение не удовлетворяет ни одному из приведенных критериев)
End Select
В каждом предложении Case допускается использование нескольких выражений или диапазонов. Например, допустима следующая строка:
Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber
Пример 3
Sub pr()
Dim x as Integer
X= InputBox(“Введите число”)
Select Case x
Case 1 To 5
MsgBox "Между 1 и 5"
Case 6, 7, 8
MsgBox "Между 6 и 8"
Case x > 8 And x < 11
MsgBox "Больше 8"
Case Else
MsgBox "Вне интервала 1 -- 10"
End Select
End Sub
|
A |
B |
C |
D |
|
Решение квадратного уравнения ax2+bx+c=0 |
|||
1 |
|
|
|
|
2 |
Коэффициенты |
|
||
3 |
а |
b |
c |
|
4 |
9 |
1 |
1 |
|
5 |
|
|
|
|
6 |
Решение |
|
||
7 |
D |
корней нет |
|
|
8 |
-35 |
|
|
|
9 |
|
|
|
|
10 |
|
|||
11 |
|
|||
12 |
|
|||
13 |
|
Задание 1. Запрограммировать в VBA вычисление функции f(x) из лабораторной работы №6. В программе использовать обращение к ячейкам. Вызов программы организовать с листа Excel.
Задание 2. Написать программу решения квадратного уравнения ах2+bx+c=0 с помощью условного оператора Select…Case. В программе рассмотреть три случая: D=0,D>0,D<0. В программе использовать обращение к ячейкам и операторы ввода/вывода. Вызов программы организовать с листа Excel. Пример оформления задачи на рисунке 10
Цель работы: овладеть навыками применения циклического процесса при обработке одномерных массивов и табулирования функции.
Наиболее часто используемыми циклами являются следующие:
For счетчик = начало To конец [Step шаг]
[инструкции]
Next [счетчик]
Синтаксис инструкции For…Next содержит следующие элементы:
Do While условие
[инструкции]
Loop
Синтаксис инструкции Do… Loop содержит следующие элементы:
Пример 1. Посчитать количество отрицательных элементов в массиве
Операторы программы |
Описание действий |
Sub pr() |
Начало процедуры |
Dim x(10) as Integer, I as Integer |
Задаем размерность массива Х (10 элементов) и тип массива и переменной I |
For I=1 to 10 |
Начало цикла для считывания массива |
x(i)=Cells(I,”a”) |
i-ому элементу массива Х присвоить значение ячейки расположенной на пересечении I-ой строки и столбца “A” |
if x(i)<0 then k=k+1 |
Проверяем является ли I-ый элемент массива отрицательным. Если элемент оказался отрицательным увеличиваем счетчик отрицательных элементов (k) на единицу. |
Next i |
Конец цикла |
Range(“B1”)=k |
Ячейке “B1” присвоить значение переменной k |
End sub |
Конец процедуры |
Пример 2. Указать индекс первого нулевого элемента в массиве.
Операторы программы |
Описание действий |
Sub pr() |
Начало процедуры |
Dim x(10) as Integer, I as Integer |
Задаем размерность массива Х (10 элементов) и тип массива и переменной I |
For i=1 to 10 |
Начало цикла для считывания массива |
x(i)=Cells(I,”a”) |
i-ому элементу массива Х присвоить значение ячейки расположенной на пересечении I-ой строки и столбца “A” |
Next i |
Конец цикла |
I=1 |
Присваиваем счетчику элементов массива (переменная i) начальное значение 1 |
Do while x(i)>0 |
Начало цикла Do. До тех пор пока i-ый элемент массива больше 0 |
I=i+1 |
Увеличиваем счетчик на 1 (т.е. переходим к следующему элементу) |
Loop |
Конец цикла Do |
Range(“C1”)=i |
В ячейку С1 выводим значение переменной i |
End sub |
Конец процедуры |
Задание 1. Сформировать указанный массив и вывести результат на лист Excel.
Вариант |
Задание |
1 |
Сформировать элементы массива по правилу xi= cos(2i)-1.Определить максимальный элемент массива и его порядковый номер |
2 |
Сформировать элементы массива по правилу xi= isin(1-i). Посчитать сумму положительных элементов массива. |
3 |
Сформировать элементы массива по правилу xi=(2+i)cos(i2). Найти среднее арифметическое элементов массива. |
4 |
Сформировать элементы массива по правилу хi=sin(i)-cos(i). Вывести положительные элементы массива в один столбец, а отрицательные в другой |
5 |
Сформировать элементы массива по правилу хi=sin(2i)-cos(i). Определить количество элементов массива кратных 3 и переписать их в отдельный массив. |
6 |
Сформировать элементы массива по правилу хi=sin2 (i)-cos(i). Переписать в массив Y элементы -3< хi<3 и посчитать их количество. |
7 |
Сформировать элементы массива по правилу хi=sin(i)-cos2 (i). Посчитать сумму элементов, стоящих в массиве на четных местах |
8 |
Сформировать элементы массива по правилу хi=cos(i)-sin(i). Поменять местами максимальный и минимальный элементы массива |
9 |
Сформировать элементы массива по правилу хi=isin(i)-cos(i). Найти сумму максимального и минимального элементов |
10 |
Сформировать элементы массива по правилу хi=sin(i)-icos(i). Заменить все отрицательные элементы массива на 0 |
11 |
Сформировать элементы массива по правилу хi=sin3 (i)-cos(3i). Определить минимальный элемент массива и его порядковый номер. |
12 |
Сформировать элементы массива по правилу хi=sin(2i)-cos3 (i). Посчитать сумму отрицательных элементов массива. |
13 |
Сформировать элементы массива по правилу хi=sin(i)+2cos(i). Найти отклонение каждого элемента массива от среднего значения |
14 |
Сформировать элементы массива по правилу хi=sin(i)+cos 3(i). Определить количество четных элементов массива переписать их в отдельный массив. |
15 |
Сформировать элементы массива по правилу хi=3sin(i)+cos3(i). Переписать в массив Y элементы массива Х меньшие 2 или большие 5 и посчитать их количество. |
16 |
Сформировать элементы массива по правилу хi=sin3(i)+2cos(i). Посчитать сумму элементов, стоящих в массиве на нечетных местах |
17 |
Сформировать элементы массива по правилу хi=sin3(3i)-cos(3-i). Поменять местами максимальный и первый, и минимальный и последний элемент |
18 |
Сформировать элементы массива по правилу хi=sin(1-i)-cos(i3). Найти сумму элементов, больших среднего значения |
19 |
Сформировать элементы массива по правилу хi=sin(i)cos(i). Заменить все положительные элементы массива на 0 |
20 |
Сформировать элементы массива по правилу хi=sin3(3i)+cos(i). Записать в массив сначала положительные элементы , а затем отрицательные |
Задание 2. Упорядочить элементы массива по возрастанию.
Задание 3. Для функции из лабораторной работы №4 написать программу в редакторе VBA.
Цель работы: овладеть навыками применения циклического процесса при обработке двумерных массивов.
Пример 1. Посчитать кол-во нулевых элементов каждой строки массива А. Результат записать в вектор В .
Элементы массива А задать с помощью функции случайных чисел.
Операторы программы |
Описание действий |
Sub Pr1() |
Начало процедуры |
Блок описания переменных |
|
Dim a(5, 5) As Single, b(5) As Byte |
Описание двумерного массива А и вектора B |
Dim i As Byte, j As Byte |
Описание переменных i,j |
Range("a1") = "Массив А" |
В ячейку А1 помещаем заголовок “Массив А” |
Range("g1") = "Отрицательные эл-ты" |
В ячейку G1 помещаем заголовок “ Отрицательные эл-ты ” |
Определение формата для ячеек |
|
Range("A2:G6").Select |
Выбираем ячейки А2:G6 |
Selection.NumberFormat = "0" |
Задаем выбранным ячейкам формат целые числа |
Блок формирования и вывода значений элементов матрицы А |
|
For i = 1 To 5 |
|
For j = 1 To 5 |
|
a(i, j) = Int((-5 * Rnd) + 4) |
Формирование элементов массива a(i,j) |
Cells(i + 1, j) = a(i, j) |
Вывод значений на лист Excel |
Next j |
|
Next i |
|
Подсчет нулевых элементов матрицы А |
|
For i = 1 To 5 |
|
b(i) = 0 |
|
For j = 1 To 5 |
|
If a(i, j) = 0 Then b(i) = b(i) + 1 |
|
Next j |
|
Next i |
|
Вывод элементов вектора В на лист Excel |
|
For i = 1 To 5 |
|
Cells(i + 1, "G") = b(i) |
|
Next i |
|
End Sub |
Конец процедуры |
Задание 1. С помощью справочной системы VBA ознакомиться с инструкцией Randomize. Разобрать пример из справки.
Задание 2. Сформировать массив произвольной размерности, используя счетчик случайных чисел и результат вывести на лист Excel.
Вариант |
Задание |
1 |
Подсчитать сумму элементов каждого столбца матрицы. Результат записать в одномерный массив. Указать номер столбца с максимальной суммой элементов |
2 |
Посчитать сумму отрицательных элементов, лежащих на главной диагонали и сумму положительных элементов, лежащих на побочной диалонали. Вывести эти элементы в разные столбцы. |
3 |
Найти минимальный элемент в матрице и записать его на место первого элемента |
4 |
Поменять местами элементы, лежащие на главной диагонали и на побочной |
5 |
Посчитать сумму положительных элементов, лежащих выше главной диагонали |
6 |
Посчитать сумму отрицательных элементов, лежащих ниже главной диагонали |
7 |
Записать вместо элементов, лежащих на побочной диагонали на элементы первого столбца |
8 |
К положительным элементам главной диагонали прибавить значение минимального элемента матрицы А |
9 |
Транспонировать матрицу |
10 |
Сформировать одномерный массив В, элементами которого будут являться минимальные элементы каждой строки матрицы А |
11 |
Исключить из массива строку, содержащую хотя бы один нулевой элемент |
12 |
Сформировать одномерный массив В, в котором сначала будут записаны положительные элементы массива А, а затем отрицательные |
13 |
Посчитать сумму отрицательных элементов, лежащих ниже побочной диагонали |
14 |
Поменять местами элементы побочной диагонали и последней строки |
15 |
Поменять местами второй столбец и столбец с максимальной суммой элементов |
16 |
Сформировать одномерный массив, элементами которого будут являться положительные элементы, лежащие под главной диагональю. |
17 |
Сформировать одномерный массив, элементами которого будут являться отрицательные элементы, лежащие под главной диагональю. |
18 |
Вычеркнуть из матрицы столбец, содержащий максимальное число отрицательных элементов. |
19 |
Поменять местами столбцы с минимальной и максимальной суммой элементов |
20 |
Записать в массив В четные элементы массива А |
Цель работы: овладеть навыками обработки строковых данных в среде VBA
При обработке строк , в случае удаления или добавления каких-либо символов, удобнее всего использовать циклы типа Do…Loop. Если же длина строки в процессе обработки не меняется, то можно использовать цикл For…Next.
При обработке строк используются следующие функции: InStr, Mid, Len и другие (см. лекции).
Пример 1. Посчитать количество слов, начинающихся на указанную букву
В этой программе нам понадобятся переменная строкового типа, в которой будет храниться исходное предложение (st), переменная целого типа, которая будет отвечать за количество слов (k), и счетчик для цикла (i).
Операторы программы |
Описание действий |
Sub lab15() |
Начало процедуры |
Dim st As String, k as Integer, i As Byte |
Описание переменных |
st = Range("a1") |
Считываем значение из ячейки А1 в переменную st |
S=InputBox(“На какую букву искать слова”) |
Вводим букву, на которую будем искать слова |
k=0 |
Обнуляем счетчик слов |
If Mid(st, 1, 1) = s Then k = 1 |
Сравниваем первый символ предложения с заданным символом. |
For i=2 to len(st) |
Цикл, начиная со второго по последний символ |
If Mid(st, i, 2) = " "+s Or Mid(st, i, 1) = ","+ s Then k = k + 1 End If |
Будем считать, что слова в предложении разделены пробелом или запятой. Тогда , если в предложении необходимо посчитать кол-во слов на букву “с” будем искать в предложении сочетания “ c” или “,c” |
Next i |
Конец цикла |
Range(“a2”)=”Кол-во слов начинающихся на букву ” & s & “ равно “ & k |
Вывод ответа в ячейку А2 |
End Sub |
Конец цикла |
Задание1. Ознакомиться с функциями обработки строк в справке VBA
Задание2. Написать программу в VBA. Исходные и расчетные данные выводить на лист Excel. Запуск программ организовать с листа Excel.
№ варианта |
Задание |
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
Цель работы: освоить приемы создания прикладных программ.
Наша программа-пример должна будет открывать на экране новое окно с показанной в нем цитатой, а также датой и временем (сообщением). Окно будет оставаться на экране до тех пор, пока пользователь не щелкнет на кнопке ОК.
Программа будет состоять из следующих элементов:
Обе наши процедуры можно разместить в окне программного кода, ассоциированом с формой. Так как эти процедуры отвечают на события, которые происходят с формой.
Создание новой формы.
Для создания новой формы, которая будет служить окном программы, из меню редактора VBA выберите InsertUserForm.
Новая пользовательская форма представляет собой серую панель. Можно изменять её размеры, перетаскивая маленькие белые квадратики, примыкающие к правому и нижнему краям формы. Окно нашей программы должно быть немного шире и немного меньше по высоте (рис.11).
Добавим в форму пару элементов управления. Начнем с элемента управления надписью, который просто отображает текст. Во время выполнения программы элемент управления надписью отображает текст, который пользователь видит, но изменить не может. Но программа это сделать может и ей придется это сделать, так как она будет отображать дату и время, которые зависят от того, когда программа выполняется.
Чтобы поместить надпись в новую пользовательскую форму, выполните следующее:
Каждой новой надписи VBA автоматически приписывает заголовок, поэтому в прямоугольной рамке, ограничивающий наш элемент управления надписью будет текст Label1. Это не тот текст, который нам нужен. Чтобы удалить автоматически созданный текст надписи, придется обратиться в окно свойств.
Окно свойств.
Каждый элемент управления имеет список свойств. Они определяют внешний вид и поведение элемента управления при выполнении программы. VBA дает возможность менять свойства элементов управления без печатания программного кода.
Для управления свойствами предназначено окно свойств. Как видно из рис.12., в окне свойств представлен список всех свойств выделенного в данный момент элемента управления. Чтобы изменить нужное нам свойство, просто найдите его в левом столбце и измените значение этого свойства в правом.
Для надписи в нашей программе нужно изменить лишь два свойства Name (Имя) и Caption (Заголовок) . Замените имя элемента управления с Label1 на lblNow. Чтобы сделать это, найдите свойство Name в списке свойств. Двойным щелчком в правом столбце строки этого свойства выберите его, а затем впечатайте новое имя.
Затем опуститесь по списку ниже и найдите свойство Caption. Здесь просто удалите значение свойства, так как ваша программа сама обеспечит текст для надписи во время выполнения.
Кнопка команды
Элемент управления кнопкой команды отличается от надписи тем, что предполагает определенные действия со стороны пользователя программы. Когда кто-нибудь щелкает на кнопке, её изображение на экране меняется так, что она выглядит нажатой, а программа в ответ выполняет какие-нибудь действия.
Чтобы поместить такую кнопку в форму выполните следующее:
Для установления нужных значений свойств, выполните следующие шаги:
Добавление программного кода
Чтобы напечатать связанный с формой или одним из её элементов управления программный код, вам нужно вместо окна формы открыть окно программного кода этой формы. Для этого выделите форму или элемент управления в ней. Затем воспользуйтесь одним из следующих способов:
В появившемся при этом окне программного кода должна уже присутствовать заготовка процедуры. Первой строкой созданного для вас программного кода будет
Private Sub OKButton_Click()
В любой VBA-процедуре первая строка программного кода определяет тип процедуры ( в данном случае это процедура типа Sub, т.е. подпрограмма) и имя процедуры. Для процедуры VBA предлагает имя OKButton_Click, которое представляет собой комбинацию имени кнопки и типа события.
Последней строкой автоматически генерируемого программного кода является
End Sub
Такой строкой должны заканчиваться все процедуры типа Sub. Эта строка сообщает VBA о том, что выполнение процедуры пора завершить.
Текстовый курсор будет мигать между этими двумя созданными VBA строками. Напечатав лишь одну дополнительную строку программного кода, мы дадим возможность программе завершить работу. Вот её программный код:
Unload Me
Оператор Unload убирает указанный объект из памяти. Здесь это объект с именем Me, имеющим в VBA специальный смысл. В данном случае оно означает форму и весь её программный код.
Вторая процедура должна отображать на экране сообщение. В окне программного кода, которое должно было остаться активным, выполните следующие шаги:
VBA создаст новую процедуру для события Click (щелчок). Эта процедура будет вызвана, если пользователь вашей программы щелкнет кнопкой мыши в любом месте формы, где нет элементов управления. Нам пока эта процедура не нужна.
Внутри заготовки процедуры наберите следующие три строки:
Создает переменную с именем St и определяет её как строковую.
St=”Сегодня:”
Сохраняет текст “Сегодня” в созданной переменной St.
LblNow.Caption = St & Format(Now, “dddddd, hh ч. mm мин.”)
Содержит программный код, который непосредственно отображает нужное сообщение в форме. Эта строка начинается с идентификации элемента управления с именем lblNow как объекта с которым идет работа. После имени идет точка, означающая, что далее идет свойство объекта lblNow в данном случае это свойство Caption. Оставшаяся часть строки определяет сообщение, которое должно появиться на экране в виде надписи.
Теперь программа готова к запуску. Чтобы запустить программы из редактора VBA, выполните следующее:
Описанные методы работают только в редакторе VBA. Чтобы вывести форму на экран из VBA-приложения, нужно с помощью редактора Visual Basic создать процедуру типа Sub, которая вызывает форму, а затем выполнить эту процедуру в приложении. Для этого сделайте следующее:
Sub ShowSt()
UserForm1.Show
End Sub
Если ваша форма названа не UserForm1, а как-то иначе, замените это имя во второй строке на правильное.
Задание 1
Написать программу в VBA c использованием форм. На форме должны присутствовать окна для ввода данных и вывода данных, кнопки ОК и Отмена. Вызов программы организовать с листа Excel. Организовать проверку на правильность ввода данных. Вычисленное значение выводить с точностью до двух знаков после запятой.
№ варианта |
Задание |
1 |
Ввести длины сторон треугольника и вычислить площадь треугольника, если таковой существует. |
2 |
Ввести величины диагоналей и вычислить длину стороны ромба. |
3 |
Вычислить площадь пирамиды. |
4 |
Вычислить площадь цилиндра. |
5 |
Вычислить площадь трапеции. |
6 |
Зная длины двух сторон треугольника и угол между ними, вычислить длину третьей стороны |
7 |
Вычислить объем пирамиды. |
8 |
Вычислить объем цилиндра. |
9 |
Создать калькулятор для вычисления деления и возведения в степень. |
10 |
Создайте калькулятор для вычисления логарифма по любому основанию. |
11 |
Вычислить площадь круга. |
12 |
Вычислить объем шара. |
13 |
Вычислить длину вектора. |
14 |
Найти корни квадратного уравнения. |
15 |
Вычислить определитель матрицы А(2,2). |
16 |
Вычислить скалярное произведение двух векторов. |
17 |
Вычислить высоту цилиндра, зная радиус основания и объем. |
18 |
Создать калькулятор вычисления sin, cos, tg |
19 |
Создать калькулятор вычисления arcsin, arcсos. |
20 |
Вычислить диаметр основания цилиндра, зная высоту и объем. |
Рис.7. Окно VBA
кнопка
конструктор
Рис.8. Элементы управления
Рис.9. Окно свойств
Рис.10. Оформление решения
Панель элементов управления
нопка включения панели инструментов
Рис.11. Новая форма
Рис.12. Окно свойств
Свойство Name (Имя)
Это имя будет использовано при создании программного кода
Свойство Caption (Заголовок)
Рис.13. Окно программного кода
Список объектов, имеющих отношение к форме
Список событий, связанный с выбранным объектом