
- •Вопросы
- •1. Определение основных элементов кода: модули, процедуры, инструкции
- •2. Идентификаторы и ключевые слова кода
- •4.Объявление переменных и области видимости переменных
- •5. Строковые переменные
- •6.Статические массивы
- •7.Динамические массивы
- •12.Свойства и методы объектов
- •13.Ссылка на объекты в коде vba
- •14.Коллекции Workbooks и Sheets
- •15.Свойство Count
- •16.Объект Worksheet
- •17.Объект Range
- •18.Функция MsgBox
- •19.Функция InputBox
- •20. Формы пользователя
- •21.События объекта UserForm
- •22.Элемент управления Label (Надпись)
- •23.Элемент управления CommandButton (Кнопка)
- •24.Элемент управления TextBox (Текстовое поле)
- •25.Элемент управления CheckBox (Флажок)
- •26.Элемент управления OptionButton (Переключатель)
- •27. Оператор присваивания
- •28. Инструкция Set
- •29. Инструкция For… Next
- •30.Инструкция While…Wend
- •31. Инструкция условного перехода If…Then…Else (строчная и блочная)
- •32.Инструкция Select…Case
- •33. Инструкции прерывания выполнения блока Exit
- •34.Встроенные функции ?
- •41.Отладка. Режим останова
- •42.Отладка. Использование окна Immediate
- •43.Вызов процедур (простых и процедур-функций)
- •44.Процедуры с параметрами
31. Инструкция условного перехода If…Then…Else (строчная и блочная)
Инструкция If...Then...Else задает выполнение определенных групп инструкций в зависимости от значения выражения. Она может иметь однострочный и два блоковых формата. Однострочный формат: If условие Then инструкции / Однострочная форма допускает выполнение нескольких инструкций в результате проверки одного условия If…Then. При этом все инструкции должны находиться на одной строке и разделяться двоеточием/
Первый блоковый формат:
If условие Then [инструкции] [Else инструкции]
[Else
[инструкции_Else]]
End If
Второй блоковый формат:
If условие Then
[инструкции]
[ElseIf условие Then
[инструкции_elseIf]]…
[Else
[инструкции_else]]
End If
При этом ElseIf …Тhen может повторяться несколько раз.
Принцип инструкции:если условие выполняется, то выполняются инструкция, находящиеся после Then.
32.Инструкция Select…Case
Инструкция выполняет одну из нескольких групп инструкций в зависимости от
значения некоторого выражения. Она имеет следующий формат:
Select Case выражение (Обяз. Любое числовое или строковое выражение)
[Case список_выражений-n
[инструкции-n]] ...
[Case Else
[инструкции_еlsе]]
End Select
Если выражение совпадает с любым из Case-выражений список_выражений-n, выполняются инструкции инструкции-n, следующие за этим Case-предложением (до следующего Case-предложения или последнего Case-предложения – до End Select). Управление выполнением программы передаётся инструкции, следующей за предложением End Select. Если выражение совпадает с список_выражений-n в нескольких Case-предложениях, выполняются инструкции, соответствующие первому совпадению. Предложение Case Else используется для указания группы инструкций инструкции_еlsе, которые следует выполнять, если ни в одном Case-предложении не нашлось совпадений. Конструкция Select Case допускает вложения. Инструкцию Case Else целесообразно
использовать при выборе между тремя и более вариантами.
33. Инструкции прерывания выполнения блока Exit
Варианты инструкции Exit: 1)Инструкция Exit Do позволяет выйти из цикла Do…Loop. 2)Инструкция Exit For позволяет выйти из цикла For…Next или
For Each…Next. 3) Инструкция Exit Function позволяет выйти из функции, в которой имеется данная инструкция. 4)Инструкция Exit Sub позволяет выйти из процедуры Sub, в которой имеется данная инструкция.
34.Встроенные функции ?
Математические ф-ии, Ф-ии преобразования данных, ф-ии даты и времени,
35.Математические функции N означает любое численное выражение.
Abs(N)- Возвращ абсолютное значение аргумента N ; Atn(N)- Возвр арктангенс N (радиан); Cos(N)- Возвр кос N (радиан); Fix(N) –Возвр целую часть N. Не округляет число, а отбрасывает любую дробную часть. Если N отрицательное число, то воз-тся
ближайшее отрицательное целое большее, чем или равное N ; Rnd(N)- Возвр случ число: аргумент явл-ся необяз-м. Используется только после инициализации генератора случайных чисел (оператор Randomize); Sgn(N) -Возвр знак числа: -1, если N – отриц-е; 1, если N – полож-е; 0, если N равно 0; Sin(N) - Возвращает синус N (радиан); Sqr(N)- Возвр корень квадратный из N. Если N явл-ся отриц-м числом – возвращается ошибка времени исполнения ; Tan(N)- Возвращ тангенс N (радиан)
36.Функции преобразования данных N – любое численное значение; S – любое строковое значение; E – выражение любого типа. Chr(N)- Возвр строку из одного символа, соответ коду символа N, к-ый должен быть числом между 0 и 255 (обратна предыдущей); Format(E,S)- Возвр строку, содержащую значение, представленное выражением Е, в формате в соответствии с инструкциями, содержащимся в S; RGB(N,N,N)- Возвр целое типа Long, представляющее значение основных цветов изображения. N для каждого аргумента должно быть целым и лежать в пределах от 0 до 255; Str(N)- Возвр строку, эквивалентную численному выражению N; Val(S)- Возвр численное значение, соответ-ее числу, представленному строкой S, которая должна содержать только цифры и одну десятичную точку, иначе возвращается 0 ; CDate(E)- Возвр значение типа Date. E может быть любым допустимым выражением (строкой или числом), представляющим дату в диапазоне 1/1/100 - 12/31/9999 ; CInt(E)- Возвращает численное значение типа Integer. Е–любое допустимое численное или строковое выражение, которое может быть преобразовано в число; CStr(E)- Возврчисленное значение типа String. Е – любое допустимое численное или строковое выражение, которое может быть преобразовано в число 37.Функции даты и времени Date – Возвр системную дату;Time –Возвр системное время;Now –Возвр системные дату и время;Year(D) –Возвр целое, явля-ся частью выражения типа Date и содержащее год. Год возвращается как число между 100 и 9999 ;Month(D) –Возвр целое, явл-ся частью выражения типа Date и содержащее месяц. Месяц возвращается как число между 1 и 12 ;Day(D) –Возвр целое, явл-ся частью выражения типа Date и содержащее день. День возвращается как число между 1 и 31;Hour(D) –Возвр целое, содержащее часы как часть времени, содер-гося в выражении типа Date. Часы возвр-ся как число между 0 и 23. Если аргумент не содержит значения времени, то возвр-тся 0 ;Minute(D) –Возвр целое, содержащее минуты как часть времени, содержащегося в выражении типа Date. Минуты возвращаются как число между 0 и 59. Если аргумент не содержит значения времени, то возв-тся 0;DateValue(E) –Возвр значение типа Date, эквивалентное дате, заданной аргументом Е, который может быть строкой, числом или константой, представляющей время ;TimeValue(E) –Возвр значение типа Date, содержащее время, заданное аргументом Е, который может быть строкой, числом или константой, представляющей время 38.Строковые функции Выделение части строки. Функция Left Формат функции: Left (String, Length) String – любое допустимое строковое выражение;
Length – любое численное значение. Функция возвращает копию String, начиная с первого символа и включая количество символов, заданных с помощью Length. Если Length
является числом, большим, чем фактическая длина String, то возвращается всё строковое выражение String.
39.Строковые функции Выделение части строки. Функция Right Формат функции:Right (String, Length) String – любое допустимое строковое выражение;
Length – любое численное значение. Функция возвращает копию String, начиная с последнего символа и включая справа налево количество символов, заданных с помощью
Length. Если Length является числом, большим, чем фактическая длина String, то возвр все строковое выражение String. Функция Right всегда копирует символы от конца строки к ее началу. 40.Строковые функции Выделение части строки. Функция Mid
Формат функции: Mid (String, Start, [, Length]) String – любое допустимое строковое выражение; Length, Star t – любые численные значения. Функция Mid возвр копию String, начиная с положения символа в String, задаваемого с помощью аргумента Start . Необяз-ый аргумент Length определяет количество копируемых в Mid символов из String. Если Start содержит большее число, чем фактическая длина String, то возвр пустая строка.