- •2. Блок ввода-вывода.
- •3. Логический блок.
- •4 . Блоки начала и конца блок-схем
- •5.Соединительные блоки
- •Однострочный if.
- •Блочный if.
- •Как назначить макрос кнопке размещенной на рабочем месте так, чтобы щелчок на этой кнопке заставлял выполнить нужный макрос?
- •Создание собственного кода программы.
- •Первая программа на vba. Воспользуемся третьим сценарием. По пунктам запишем наши действия.
- •Как запустить нашу программу из редактора vbа на выполнение?
- •Как из окна редактора попасть на рабочий лист?
- •Где хранятся программы?
- •Циклические алгоритмы.
- •Рассмотрим циклы for … next
- •Найти произведение целых чисел от к до м с шагом 2
- •Циклы с условием do … loop
- •Продолжение знакомства с редактором vba
- •Модули и процедуры.
- •Процедура – подпрограмма
- •Процедура – функция
- •Создание процедур-подпрограмм..
- •Процедура подпрограммы.
- •Как вызвать процедуры из других программ?
- •Передача аргументов в подпрограммы(по ссылке и по значению). Способ1 -Передача по ссылке.
- •Способ2.-Передача по значению.
- •Необязательные параметры в подпрограммах.
- •Процедура функция.
- •Объявления переменных и их области видимости
- •Объявление переменных.
- •Область видимости переменной
- •2) Переменная уровня модуля ( уровня контейнера )
- •Работаем с приложением Excel и его объектами.
- •Объектная модель Excel.
- •Объект Application( приложение в целом).
- •Объект Workbook(рабочая книга)
- •Основные методы объекта workbook
- •Объект Worksheet (Рабочий лист).
- •Основные методы объекта worksheet.
- •Основные свойства рабочих листов
- •Объект Range (диапазон)
- •Основные свойства объекта Range
- •7) Font - шрифт
- •Циклы вида With … Еnd With.
- •Пример.
- •Основные методы объекта Range
- •С объектом Selection можно работать точно так, как с объектом Range: те же свойства и те же методы.
- •Функция Format()
- •Еще раз о функциях val, inputbox Функция Val()
- •Функция InputBox().
- •Задача: проверка на «пустоту».
- •Отладка программ (debugging) Виды ошибок:
- •1)Синтаксические;
- •2)Во время выполнения программы;
- •3)Логические.
- •Точки останова(breakpoints).
- •Пошаговое выполнение программы.
- •Работа со справкой.
- •Окно отладки (Immediate).
- •Окно контрольных значений
- •Массивы
- •Нединамические массивы.
- •Динамические массивы.
- •Ввод, вывод одномерных массивов.
- •Введение массива с помощью функции InputBox (ввод «вручную»).
- •2)Введение массива с помощью генератора случайных чисел
- •Вывод массива.
- •1)Вывод массива в окно отладки
- •2)Вывод массива на рабочий лист
- •3)Вывод массива в окно сообщений
- •Пример1. Найти максимальный элемент в массиве
- •Пример2. Сортировка (упорядочивание) одномерного массива.
- •Двумерные массивы (таблицы или матрицы).
- •Ввод /вывод двумерного массива.
- •1)Ввод с помощью функции Input Box (ввод вручную)
- •2)Ввод с помощью генератора случайных чисел
- •Особенности ввода-вывода двумерных массивов на рабочий лист при работе с vba (excel)
- •Ввод массива
- •Вывод массива на рабочий лист.
- •Обращение к массивам при работе с подпрограммами.
- •Vvod b,n,m,k ‘вызов подпрограммы ввода массива
- •Примеры решения задач, связанных с двумерными массивами.
- •Задача1.Найти сумму элементов под побочной диагональю квадратной матрицы размера n×n.
- •Функции, определяющие границы индексов массивов.
- •Элементы визуального программирования.
- •Панель управления «формы» .
- •Экранные формы.
- •Для того, чтобы вставить форму в наше приложение необходимо выполнить команды:
- •Свойства формы.
- •Этапы разработки визуальных программ.
- •2) Написание кода.
- •Первая визуальная программа «Здравствуй ,мир!»
- •Первый этап ( настраивание свойств формы и элементов управления).
- •Второй этап ( написание кода).
- •Как запустить наше приложение из окна редактора vba?
- •Как сделать так, чтобы наша форма запускалась с рабочего листа?
- •Программа “Курс доллара”.
- •События формы.
- •Переключатель (Option Button)
- •Флажок или индикатор (Check Box)
- •Полоса прокрутки (ScrollBar)
- •Пример1. Программа «скорость».
- •Пример 2. «Утоляем жажду».
- •Элемент управления «рисунок» (Image)
- •Элемент управления «список» (ListBox)
- •Поле со списком, или комбинированный список(Combobox)
- •Пример использования.
- •Static – объявление переменной статической.
- •Дополнительные элементы управления.
- •Работа с файлами последовательного доступа
- •Открыть файл последовательного доступа можно в трёх режимах:
- •Открытие файла.
- •Закрытие файла ( оператор close).
- •Формат оператора input:
- •Операторы вывода в файл print и write
- •Формат функции eof
- •Input#1, X ‘считываем очередной элемент массива
- •Литература.
Объект Range (диапазон)
Это один из основных объектов приложения. Рассмотрим, как обращаться к нужному диапазону.
В примерах используется метод диапазона Select (выбрать, выделить)
Range (“A1”). Select выделение ячейки А1
Range (“A1:B3”). Select ’ выделение диапазона A1:B3
Range (“A1:B3, B5:C20”). Select ‘-выделение диапазонов A1:B3, B5:C20
Range (“А:А”). Select ‘выделение столбца А
Range (“5:5”). Select ‘выделение 5 строки
Range (“A:Z”). Select- выделение столбцов с А по Z
Range (“1:4”). Select выделение строк с 1 по 4
Range (cells(1,4),cells(2,5)).Select ‘ выделение диапазона D1:E5
В последнем примере использовано обращение к конкретным ячейкам с помощью свойства cells, для задания начала и конца диапазона.
Основные свойства объекта Range
1) Value-значение
Range (“A3:A5”). Value=5’ диапазон A3:A5 заполнен числом 5
Y= Range (“A3”). Value + Range (“B20”). Value
Переменная «y» равна сумме содержимого ячейки А3 и ячейки В20.
Отметим, что свойство Value понимается по умолчанию, т.е. возможны записи вида:
Y= Range (“A3”) + Range (“B20”)
2) Name-имя диапазона
Range (“A1:C20”). Name= «Итоги»
Range («Итоги»). Value=33
3)CurrentRegion-(текущий диапазон).
Данное свойство возвращает диапазон, в котором находится указанная ячейка. Диапазон ограничен пустыми строками и пустыми столбцами..
Пример выделения непрерывного диапазона, в котором находится ячейка D4.
Range (“D4“).CurrentRegion.Select.
4) Rows, Columns – строки, столбцы.
Свойства возвращают семейство строк и столбцов, из которых состоит диапазон.
5) Count – считать.
Возвращает количество ячеек диапазона
n= Range (“A1 : C2”).Count ‘ n =6
m= Range (“A1: C2”).Columns. Count ‘ m=3, количество столбцов в диапазоне 3
6)Row, Colunm- строка, столбец.
Вычисляет номер строки и столбца
n = Range (“B5”). Row ‘n=5
m = Range (“B5”). Column ‘m=2
Пример использования.
Предположим, что хотим ввести слово “отличник“ в указанную пользователем ячейку, а слово “ двоечник “- в ячейку? идущую под ней.
DIM x AS string
x= Input box (“введите адрес ячейки”)
‘В переменной х содержится адрес ячейки
Range (x). Value = “отличник”.
n= Range (x). Row
‘определение № строки
m= Range (x). Column
Cells (n+1,m)*Value= ”двоечник”.
7) Font - шрифт
Возвращает шрифт, с которым работает данный диапазон. Объект Font имеет свойства:
Name-имя
FontStyle – стиль шрифта ( Bold, Italik, Underline)
Size -размер
Color-цвет
Циклы вида With … Еnd With.
При работе со свойствами некоторого объекта целесообразно использовать цикл With … end with для того, чтобы каждый раз не записывать полное имя объекта.
Структура цикла имеет вид:
With < имя объекта > -указать с каким объектом работает
.( свойство )= значение что делаем
End with Окончание цикла
Пример :
With Range (“A1”).Font
.Size =14
.Name =” Times New Roman”
.Style = “Bold “’ полужирный
End with
8) Formula – возвращает формулу в формате А1 основной (англоязычной) версии VBA.
Пример:
Запишем в ячейке C4 формулу, суммирующую содержимое ячеек C2 и D8.
Range (“C4”). Formula = “= C2+D8”
Запишем в ячейке А3 формулу, суммирующую переменную х и число 5.
Range (“A3”). Formula = x+5
Обратите внимание, что формула, использующая адрес ячейки, начинается со знака «=», и обрамляется кавычками.
Запишем в ячейке А4 формулу, суммирующую значения из диапазона B1:D4. Обратите внимание с помощью какой функции записывается сумма чисел диапазона B1:D4.
Range (“A4”). Formula = “=sum(B1:D4)”
9) Formula R1C1- возвращает формулы основной (англоязычной) версии VBA в формате R1С1 (R-ROW-строка, C-COLUMN столбик)
