- •Использование макросов в табличных документах Теоретические сведения определение макроса
- •Основы работы в visual basic Основные понятия языка vba
- •Правила написания программ
- •Встроенные типы данных
- •Переменные
- •Массивы
- •Пользовательские типы данных
- •Объявление констант
- •Операторы языка vba Оператор присваивания
- •Оператор комментариев
- •Процедуры
- •Встроенные функции vba
- •Функции пользователя
- •Управляющие структуры
- •Условный оператор If.
- •Оператор выборки Select Case.
- •Оператор счетного цикла For-Next
- •Цикл Do-Loop
- •Цикл While-Wend
- •Цикл For Each
- •Возможности vba по созданию макросов Excel
- •Приемы работы в среде Visual Basic for Applications
- •Методические указания к выполнению работы Пример создания макроса
- •Порядок работы
- •Вариант 2. Письмо - поздравление
- •Вариант 3. Товарный чек
- •Вариант 4. Расчетный листок зарплаты
- •Порядок выполнения расчета.
- •Вариант 5. Комплектация изделия из составных частей
Оператор выборки Select Case.
Этот оператор применяется тогда, когда во всех логических условиях участвует одна и та же величина (переменная):
Select Case <величина>
Case <сравнение 1>
<блок операторов 1>
Case <сравнение2>
<блок операторов2>
[ Case Else
<блок операторов Else>]
End Case
Выражение для сравнения можно записать в виде:
Case 45 или Case 3, 4, 5, или Case 5 То 12.
Если ни одно сравнение не дает значение истинна, то выполняется блок операторов Else, если блок Else отсутствует, управление передается оператору, следующему за End Case. Пример организация последовательной проверки значения переменной:
Текст программы |
Комментарий |
Select D |
- начало оператора Select: объявление переменной, которая участвует в последующих проверках - D |
Case D 21 |
- первое сравнение: D=21 |
D = 21 |
первое сравнение истинно;выполняется оператор присваивания D=21 |
Case D 22;25;28 |
- второе сравнение - указан список возможных значений |
D=31 |
второе сравнение истинно;выполняется оператор присваивания D=31 |
Case D 45 To 48 |
- третье сравнение – указан диапазон возможных значений |
D=40 |
третье сравнение истинно;выполняется оператор присваивания D=40 |
Case Else |
- если не выполнилось ни одно из указанных сравнений |
D=51 |
- выполняется присваивание D=51 |
End Case |
- конец оператора Select |
Оператор счетного цикла For-Next
Этот оператор относится к категории счетных циклов: заранее известно число повторений цикла, заданы начальное, конечное значения и шаг (приращение) изменения начального значения. В этом цикле для каждого значения переменной повторяет указанный блок операторов. Если переменная цикла превысила конечное значение, управление передается оператору, следующему за циклом. В теле цикла может присутствовать оператор Exit For. При выполнении этого оператора цикл прекращается, управление передается оператору, следующему за циклом. Цикл For-Next может быть вложенным. Примеры использования счетного цикла:
Текст программы |
Комментарий |
Sub stickRandom() Dim nrows As Integer; ncols As Integer Dim trow As Integer; tcol As Integer nrows=Selection.Rows.Count
|
- объявление процедуры - объявление - переменных
- определение числа строк в выделенном блоке ячеек |
ncols=Selection.Columns.Count |
- определение числа столбцов в выделенном блоке ячеек |
Debug.Print nrows; ncols |
- печать числа строк и столбцов в выделенном блоке ячеек |
Randomize |
- генератор случайных чисел |
Debug.Print Rnd |
- печать случайного числа |
For trow=1 To nrows |
- цикл по числу строк в блоке ячеек (внешний) |
For tcol=1 To ncols |
- цикл по числу столбцов в блоке ячеек (внутренний) |
Selection. Cell(therow;thecol).Value=Rnd |
- присваивание текущей ячейке случайного числа: Selection – объект для выбора ячейки, Cell - метод для доступа к ячейке с указанными в скобках координатами Value – свойство, отвечающее за значение ячейки |
Next tcol |
- конец внутреннего цикла |
Next trow |
- конец внешнего цикла |
End Sub |
- конец процедуры |
