- •Программирование в excel
- •Симферополь 2000
- •Факультет "Механизация сельского хозяйства" Программирование в excel
- •1. Основы программирования на vba
- •1.1. Создание, редактирование и запись программ
- •1.1.1. Запись макроса
- •1.1.2. Как найти макрос в проекте
- •1.1.3. Написание новой процедуры
- •Чем макрос отличается от процедуры
- •1.1.4. Процедуры типа Sub и Function
- •1.1.5. Закрытые и открытые процедуры
- •1.1.6. Использование значения, возвращаемого функцией
- •1.1.7. Выполнение процедуры Sub
- •1.1.8. Передача аргументов в процедуру
- •1.1.9. Именованные аргументы
- •1.1.10. Написание процедур для обработки событий
- •1.1.11. Где хранится код обработки события
- •1.1.12. Средства, ускоряющие написание программ
- •1.1.13. Как написать легкочитаемую программу
- •1.2. Переменные, константы и типы данных
- •1.2.1. Типы данных в Visual Basic
- •1.2.2. Объявление константы, переменной или массива
- •1.2.3. Объявление объектной переменной
- •1.2.4. Встроенные константы
- •1.3. Управляющие конструкции
- •1.3.1. Операторы ветвления
- •1.3.2. Операторы циклов
- •1.3.3. Вложение управляющих конструкций
- •1.3.4. Выход из циклов и процедур
- •1.4. Структура программы
- •2. Сортировка данных
- •2.1. Алгоритм сортировки обменами (алгоритм “пузырька”)
- •2.2. Алгоритм сортировки вставками
- •2.3. Алгоритм сортировки выбором элемента
- •2.4. Алгоритм быстрой сортировки (метод Хоора)
- •2.5. Алгоритм пирамиды (метод Уильямса-Флойда)
- •2.6. Учебные задачи по программированию сортировки данных
- •3. Работа vba с объектами Excel
- •3.1. Как получить справку по Visual Basic для Microsoft Excel
- •3.2. Объекты Microsoft Excel
- •3.3. Работа с объектом Application
- •3.4. Работа с объектом Workbook
- •3.4.1. Открытие рабочей книги
- •3.4.2. Закрытие рабочей книги
- •3.4.3. Создание и сохранение рабочей книги
- •3.5. Работа с объектом Range
- •3.6. Строковые ссылки в стиле а1 или имена диапазонов
- •3.6.1. Числовые индексы строк и колонок
- •3.6.2. Свойство Offset
- •3.6.3. Свойства CurrentRegion и UsedRange
- •3.6.4. Организация циклов для перебора ячеек диапазона
- •3.6.5. Применение свойства Address для отладки кода, работающего с объектом Range
- •3.7. Работа с событиями
- •3.7.1. Включение и отключение обработки событий
- •3.7.2. Использование событий, связанных с рабочими листами
- •3.7.3. События на уровне рабочего листа
- •3.7.4. События на уровне диаграммы
- •3.7.5. События на уровне рабочей книги
- •3.7.6. События на уровне приложения
- •3.7.7. Модули классов и события
- •4. Численные методы математики
- •4.1. Методы решения нелинейных уравнений
- •4.1.2. Метод деления отрезка пополам (метод дихотомии).
- •4.1.3. Метод Ньютона (касательных).
- •4.1.4. Метод хорд (секущих).
- •4.1.5. Метод итераций (метод последовательных приближений).
- •4.2.1. Теоретические сведения
- •4.2.2. Метод Крамера
- •4.2.3. Метод Гаусса
- •4.2.6. Метод Зейделя
- •4.3. Обработка экспериментальных данных
- •4.3.1. Задачи, которые возникают при обработке экспериментальных данных.
- •4.3.2. Интерполяция
- •4.3.2.1. Интерполяция функций
- •4.3.3.2. Определение параметров эмпирической формулы
- •4.4. Методы численного интегрирования
- •4.4.1. Метод трапеций
- •4.4.2. Метод Симпсона
- •4.4.3. Оценка точности формул численного интегрирования. Выбор шага интегриров-ания
- •4.4.3.1. Выбор шага интегрирования по оценке остаточного члена (ошибки)
- •4.4.3.2. Выбор шага интегрирования с помощью двойного пересчета
- •4.5.1. Теоретические сведения
- •4.5.2. Одноступенчатые методы
- •4.5.2.1. Решение с помощью рядов Тейлора
- •4.5.2.2 Метод Эйлера
- •4.5.2.3. Модифицированный метод Эйлера
- •4.5.2.4. Метод Эйлера-Коши
- •4.5.2.5 Метод Рунге-Кутта
- •4.5.3. Многоступенчатые методы
- •4.5.3.1. Методы прогноза и коррекции
- •4.6. Методы решения линейной краевой задачи для обыкновенных дифференциальных уравнений
- •4.6.1. Постановка задачи
- •4.6.2. Метод конечных разностей
- •4.6.3. Метод прогонки
- •4.6.4. Алгоритм решения краевой задачи методом прогонки.
1.1.10. Написание процедур для обработки событий
Некоторые объекты в приложениях Office-97 распознают предопределенный набор событий, инициируемых системой или пользователем. К числу таких событий относятся Open и Close для документов Word; Open, BeforePrint, BeforeSave и BeforeСlose для рабочих книг Microsoft Excel; Calculate и SelectionChange для рабочих листов Microsoft Excel; Click, Initialize и Terminate для пользовательских диалоговых окон; Click, GotFocus и LostFocus для элементов управления на базе ActiveX.
Вы можете управлять тем, как приложение реагирует на предопределенное событие, написав соответствующий код для объекта. Этот код или процедура обработки события выполняется всякий раз, когда возникает данное событие.
1.1.11. Где хранится код обработки события
Процедура обработки события хранится в документе, рабочей книге, рабочем листе, слайде или UserForm — там, где генерируется обрабатываемое ею событие. Например, процедура, выполняемая при пересчете таблицы “Last Quarter” из рабочей книги “Sales” будет сохранена в рабочем листе “Last Quarter” в проекте, связанном с рабочей книгой “Sales”. Чтобы просмотреть код, хранящийся в документе, рабочей книге, рабочем листе, слайде или UserForm, щелкните соответствующий объект в окне проекта и “нажмите” кнопку View Code (Программа).
1.1.12. Средства, ускоряющие написание программ
Многие ключевые слова Visual Basic очень длинные, и их трудно написать без ошибок. Чтобы сократить время на набор кода и уменьшить число вероятных опечаток, в Visual Basic предусмотрены средства, ускоряющие ввод ключевых слов и выражений.
Набрав несколько букв, достаточных для того, чтобы Visual Basic распознал ключевое слово, нажмите клавиши Ctrl+Пробел или щелкните кнопку Complete Word (Завершить слово) на панели инструментов Edit (Правка) — Visual Basic допишет его сам.
С помощью диалогового окна Options (Параметры), вызываемого через меню Tools (Сервис), можно включить автоматическую проверку синтаксиса после набора каждой строки — тогда Visual Basic будет “на лету” сообщать об ошибках и предлагать варианты их исправления.
Кроме того, кнопки List Properties/Methods (Список свойств/методов), List Constants (Список констант). Quick Info (Сведения), Parameter Info (Параметры) и Complete Word (Завершить слово) на панели инструментов Edit (Правка) помогут узнать синтаксис ключевого слова или выражения. Подробнее об этих средствах см. справочную систему и главу 2 “Введение в модели объектов”.
1.1.13. Как написать легкочитаемую программу
Сделать код на Visual Basic легкочитаемым можно разными способами. Например, добавляйте в свои программы комментарии, начиная их с апострофа ('). Выполняя программу, Visual Basic игнорирует все, что находится между апострофом и символом конца строки.
' эта процедура вычисляет расходы, связанные с наймом сотрудника Dim baseSalary As Currency ' зарплата без учета премий и надбавок baseSalary = employeeLevel * 2500 ' employeeLevel передается как аргумент
Чтобы добавить признак комментария в начало всех строк выделенного блока кода, щелкните кнопку Comment Block (Закомментировать блок) на панели инструментов Edit, а чтобы удалить его из начала всех строк выделенного блока, щелкните кнопку Uncomment Block (Раскомментировать блок).
Длинные операторы разбивайте на несколько строк, используя признак продолжения строки — пробел в сочетании со знаком подчеркивания ( _ ).
Признак продолжения строки недопустим в строковом литерале. Если Вам нужно разбить строковую константу на несколько строк, используйте оператор конкатенации (&):
MsgBox "This is a string that I have to break up " & _ "so that I can continue it on another line"
За признаком продолжения строки нельзя ставить комментарий.
Выделяйте отступами логические уровни в коде. Чтобы сдвинуть выделенный блок кода на один уровень вправо, нажмите клавишу Tab или щелкните кнопку Indent (Увеличить отступ) на панели инструментов Edit (Правка). При этом относительные позиции строк в выделенном блоке сохраняются. А чтобы сдвинуть выделенный блок на один уровень влево, нажмите клавиши Shift + Tab или щелкните кнопку Outdent (Уменьшить отступ) на той же панели инструментов.
Для быстрого перехода из одного места программы в другое используйте закладки. Установить закладку на строке можно щелчком кнопки Toggle Bookmark (Закладка) на панели инструментов Edit. Слева от строки появится голубой прямоугольник со скругленными краями — он и обозначает закладку. Для перехода между закладками используйте кнопки Next Bookmark (Следующая закладка) и Previous Bookmark (Предыдущая закладка) на панели инструментов Edit.