МАКРОС — это именованная последовательность заданных пользователем команд и действий, хранящаяся в форме программы на языке VBA.
MacroRecorder —транслятор, создающий программу (макрос) на языке VBA.
Группа КОД при записи макроса
Для выполнения макроса:
Вкладка Разработчик, группа Код, кнопка Макросы, в диалоговом окне Макрос выбрать имя макроса, нажать кнопку Выполнить
Вкладка Разработчик, группа Элементы управления, кнопка Вставить.
Элемент управления Кнопка (CommandButton) из группы Элементы ActiveX установить на рабочем листе.
После появления командной кнопки на рабочем листе
на вкладке Разработчик
кнопка Режим Конструктора становится активной
строки инициализируются пустыми строками;
числа - значением 0;
переменные типа Boolean - False;
даты - 30 декабря 1899
Dim a as Integer
a=InputBox("","" ,"5")
‘ неявное преобразование типов а=5
Sub Proba1()
a=Inputbox("","","5") ‘variant в string
b=Inputbox("","","6") ‘variant в string
c=a+b
MsgBox c ‘ c=“56”
End sub
Option Explicit - требование явного объявления переменных (на уровне модуля)
Описание переменных: [Public |Private| Dim|Static ] ИмяПеременной As Тип
1. Длина <=255 символов.
2. Имя не может содержать точек, пробелов и следующих символов:
%, !, &, #, @, $.
3. Имя может содержать любую комбинацию букв, цифр, и символов, начинающуюся с буквы.
4. Имена должны быть уникальны в области, в которой они определены.
5. Не следует использовать имена, совпадающие с ключевыми словами VBA и именами встроенных процедур и функций.
Константы
[Public |Private] Const ИмяКонстанты [As тип] = Выражение
Математические функции:
Abs(x) Sqr(x) Tan(x) Atn(x) Cos(x) Sin(x) Exp(x) Log(x) Sgn(x) Rnd(x) Fix(x) Int(x)
Функции преобразования типов:
Str(n) Val(s) Asc(s) Chr(n)
CBool(a) CByte(a) CCur(a) CDate(a)
CDbl(a) CDec(a) CInt(a) CLng(a)
CSng(a) CVar(a) CStr(a)
Оператор присваивания: Переменная = выражение
Перенос строки:
х = х + 1 или х = х + 1 : у = х + 2
у = х + 2
Комментарий:
х = х + 1 ‘ Комментарий
Rem Комментарий
Заголовок — строка в заголовке окна сообщений.
Справка — имя файла справки
Sub Simple () ‘ определение четности числа
Dim X as integer
X=InputBox (“X=“)
If X Mod 2 =0 then MsgBox “четное” else MsgBox “нечетное”
End sub
Эквивалент вложенных операторов
If U1 Then
S1
ElseIf U2 Then
S2
Elseif U3 Then S3
Else
S4
End If
Sub School_1()
Dim Age as integer
Age=InputBox(“Укажите возраст”)
If Age <7 Then
MsgBox “Дошкольник”
ElseIf Age <=7 Then
MsgBox “Школьник”
ElseIf Age <23 Then
MsgBox “Студент”
ElseIf Age <55 Then
MsgBox “Специалист”
Else
MsgBox “Пенсионер”
End If
End Sub
Select Case(Grade)
Case 1
....
Case 2,3
....
Case 4 to 6
....
Case Is > 8
....
Case Else
...
End Select
Операторы цикла с условиями (Do … Loop)
Перебор:
k = a ‘ или k = b;
while ( a Mod k <> 0 Or b Mod k <> 0 )
k =k-1
Wend
MsgBox "НОД=“ & k
много операций для больших чисел
НОД (14, 21) = НОД (14, 21-14) = НОД (14, 7)
НОД (1998, 2) = НОД (1996, 2) = … = 2
Пример:
много шагов при большой разнице чисел:
= НОД (7, 7) = 7
НОД (14, 21) = НОД (14, 7) = НОД (0, 7) = 7
Пример:
Еще один вариант:
НОД(2·a,2·b)= 2·НОД(a, b)
НОД(2·a,b)= НОД(a, b) // при нечетном b
Sub NOD2 ()
Dim a as integer
Dim b as integer
while ( a*b <> 0 )
if ( a > b ) Then
a = a Mod b
else
b = b Mod a
MsgBox “Nod=” & (a + b)
End Sub
!
Sub Max_SQ()
Dim x as integer, max as integer
x=InputBox(“x=”) : max=x
While x<>0
If max >x then max=x
x=InputBox(“x=”)
Wend
If max=0 Then
MsgBox “пусто”
Else
MsgBox “max=” & max
End if
End Sub
…
n=InputBox(“n=”)
f1=1: f2=1: k=2
While k
Wend
MsgBox f1
End Sub
Самостоятельно:
Найти наименьший элемент Фибоначчи, больший данного натурального N.
Найти сумму четных элементов Фибоначчи, не превышающих данного N.
X: 2 5 -6 8 45 -89 7 98 90 -4 9 56 5 …
n : 1 2 3 4 5 6 7 8 9 10 11 12 13….
f: 1 2 3 - 5 - - 8 - - - - 13 ….
f2 f1
f2 f1
f2 f1
f2 - f1
f2 - - f1
Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть