- •2. Блок ввода-вывода.
- •3. Логический блок.
- •4 . Блоки начала и конца блок-схем
- •5.Соединительные блоки
- •Однострочный if.
- •Блочный if.
- •Как запустить нашу программу из редактора vbа на выполнение?
- •Как назначить макрос кнопке размещенной на рабочем месте так, чтобы щелчок на этой кнопке заставлял выполнить нужный макрос?
- •Создание собственного кода программы.
- •Первая программа на vba. Воспользуемся третьим сценарием. По пунктам запишем наши действия.
- •Как из окна редактора попасть на рабочий лист?
- •Где хранятся программы?
- •Циклические алгоритмы.
- •Рассмотрим циклы 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)
- •Полоса прокрутки (ScrollBar)
- •Пример1. Программа «скорость».
- •Флажок или индикатор (Check Box)
- •Пример 2. «Утоляем жажду».
- •Элемент управления «рисунок» (Image)
- •Элемент управления «список» (ListBox)
- •Поле со списком, или комбинированный список(Combobox)
- •Пример использования.
- •Static – объявление переменной статической.
- •Дополнительные элементы управления.
- •Работа с файлами последовательного доступа
- •Открыть файл последовательного доступа можно в трёх режимах:
- •Открытие файла.
- •Закрытие файла ( оператор close).
- •Формат оператора input:
- •Операторы вывода в файл print и write
- •Формат функции eof
- •Input#1, X ‘считываем очередной элемент массива
- •Литература.
Элемент управления «рисунок» (Image)
Создается
кнопкой «Image»
. Необходим для размещения на форме
различных графических объектов.
Основное свойство «Picture», в котором вы должны указать имя файла, из которого необходимо поместить картинку в наш рисунок.
Пример.
Хотим разместить на форме картинку, с информацией о виде функции
Наши действия:
открываем MS Word и в редакторе формул набираем .
копируем нашу формулу в буфер обмена.
открываем Paint и вставляем содержимое буфера обмена. Отметим, что сделать размер рисунка надо небольшим, таким чтобы на нём разместилась формула, а свободного места, по сути, не было. Иначе при вставке в небольшой по габаритам образ, формулу будет не видно. Вставляется то весь рисунок, вместе с «пустым» местом.
сохраняем рисунок. Например на диске С:\FORMULA.bmp.
открываем VBA. Вставляем на форму элемент Image, и в его свойстве «Picture», указываем адрес рисунка С:\FORMULA.bmp.
Элемент управления «список» (ListBox)
Создается кнопкой «Список».Применяется для хранения списка значений. Пользователь из списка может выбрать одно или несколько значений, которые затем можно использовать.
Пример списка вы видели при настройке, например, нужных вам служебных программ.
Полосы прокрутки появляются автоматически, если элементы списка не вмещаются в заданный размер.
Список в любое время можно программно! дополнить или сократить. Похож «Список» на этапе визуального программирования на текстовое поле. Выбор элемента из списка производится щелчком по элементу.
Отметим, что все элементы списка можно представить как элементы некоторого массива, индексы которых начинаются с 0. Демонстрация работы со свойствами на списке с именем LST1.
Основные свойства.
List Index – возвращает номер выбранного элемента в списке. Если ни один элемент не выбран, то возвращает значение –1. Переменная n= LST1. List Index имеет значение индекса выбранного злемента.
List Count – возвращает число элементов в списке. Отметим, что индекс последнего элемента в списке на единицу меньше количества элементов (нумерация начинается с 0). Если в списке 20 элементов, то n= LST1. ListCount эквивалентно n=20.
Text – важнейшее свойство. С помощью данного свойства определяется выбранный элемент, т. е. данное свойство возвращает выбранный элемент.
Пример. x=Lst1.text
Переменной х присваивается значение выбранного щелчком элемента в нашем списке
List(i) - возвращает значение і-го элемента списка.
х=Lst1.List(2) – выбран 3-й элемент списка
Свойство List помогает заполнить список, вставив в него элементы массива.
Lst1.List = array( “0.1”, “0.2”.”0.3”)
5. RowSource – устанавливает диапазон места Excel, из которого будет сформирован список.
Примеры:
а) Lst1.RowSource= “a1:a5”
Cписок сформирован из элементов диагонали А1:А5 активного рабочего листа.
Первый элемент – из ячейки a1,второй из– a2,…,пятый – a5
б) Lst1.RowSource= “лист!a1:a5”
в) Lst1.RowSource= worksheets(1).range(“a1:a5”).address
6) Control Source – устанавливает ячейку (диапазон) куда будут выведены выбранные в списке элементы.
Пример.
Lis1.Control Source= “a6”
После выбора элемента из списка, он будет занесен в ячейку А6 активного рабочего листа.
7) Selected – логическое свойство (TRUE или FALSE)
TRUE – если элемент в списке выбран
FALSE – если элемент в списке не выбран
Пример.
Если выбран 5 элемент из списка, то
Lis1.Selected(4)=TRUE
8) Multiselect – устанавливает можно ли:
а) выбрать только один элемент frmMultiselectSingle
б) выбрать несколько элементовfrmMultiselectMulti
Обращаем внимание, что свойством Selected имеет смысл только тогда, когда Multiselect имеет значение frmMultiselectMulti
Следующий пример демонстрирует как, используя данные свойства, выяснить, сколько элементов из списка выбрано (переменная n)
n=0
With Lis1
FOR I=0 TO . List Count-1
IF . Selected (i)=TRUE THEN n=n+1
NEXT I
END WITH
9) ListStyle – устанавливает способ выделения элементов.
а) frmstylePlain (цветом)
б) frmstyleOption (перед каждым элементом флажок)
Основные методы «списка».
Clear – удаляет все элементы из списка; «очищает список». (Lst1.clear)
AddItem – добавляет элемент в список.
Пример ввода массива х(і), і=1,...n в список Lst1;
Lst1.Clear
FOR I= 1 to n
Lst1.AddItem x(i)
NEXT I
Если нам необходимо поставить некоторый новый элемент на конкретное место в списке, то указываем , что это за элемент и место, где он должен стоять. Например, разместить слово «тигр» на четвёртом месте списка. Напоминаем, что нумерация списка начинается с 0!
Lst1.Add Item «тигр», 3 ’ «тигр» на 4 место, остальные элементы сдвигаются вниз по списку.
RemoveItem – удаляет элемент из списка.
Синтаксис Remove Item(k), где k – индекс удаляемого элемента.
Пример удаления.
Lst1.Remove Item 3 ‘ Удаление 4-го элемента из списка.
