- •Содержание
- •Раздел 1. Быстрый старт 2
- •Раздел 2. Редактор Visual Basic 11
- •Immediate Window (окно проверки) 15
- •Раздел 3. Переменные и типы данных 27
- •Раздел 4. Операторы управления 51
- •Раздел 5. Процедуры, подпрограммы и функции 66
- •Раздел 6. Объекты ms Excel 101
- •Раздел 7. Пользовательские формы 139
- •Immediate Window (окно проверки) 177
- •Введение
- •Раздел 1.Быстрый старт Использование макрорекордера
- •Запись макроса
- •Запуск макроса
- •Абсолютные и относительные ссылки Запись формулы на рабочем листе
- •Макрорекордер
- •Диалоговые окна для ввода/вывода данных
- •Функция InputBox
- •Функция MsgBox
- •Раздел 2.Редактор Visual Basic
- •Окна редактора vb
- •Project Window (окно проекта)
- •Properties Window (Окно свойств)
- •Code (окно программы)
- •Immediate Window (окно проверки)
- •Получение справки
- •Запись процедур
- •Режимы работы с программой
- •Ошибки и их обнаружение
- •Отладка
- •Меню и панели инструментов Visual Basic
- •Панели инструментов Стандартная панель инструментов
- •Панель инструментов отладки
- •Раздел 3.Переменные и типы данных Объявление переменных
- •Важность объявления переменных
- •Область видимости переменных
- •Время жизни переменных
- •Инициализация переменных
- •Операции с элементарными данными
- •Оператор присваивания
- •Выполнение операций
- •Арифметические операции
- •Операции сравнения
- •Оператор Like
- •Логические операции
- •Символьные операции
- •Приоритет операций
- •Операции с другими типами данных
- •Объектные переменные
- •Массивы
- •Динамические массивы
- •Пользовательский тип
- •Раздел 4.Операторы управления
- •Условный оператор If
- •Оператор выбора Select Case
- •Операторы цикла
- •Цикл For…Next
- •Цикл For Each…Next
- •Оператор Set
- •Цикл Do…Loop
- •Цикл While…Wend
- •Раздел 5.Процедуры, подпрограммы и функции
- •Классификация процедур
- •Структура и объявление процедуры
- •Синтаксис объявления процедуры общего типа
- •Синтаксис объявления функции
- •Вызов процедуры
- •Параметры и аргументы
- •Возврат значения функции
- •Использование процедур-функций на рабочем листе
- •Поименованные аргументы
- •Использование необязательных аргументов
- •Использование параметра ParamArray
- •Вызов процедур другого проекта
- •Автопроцедуры
- •Событийные процедуры
- •Рекурсивные процедуры
- •Встроенные функции Классы функций
- •Использование табличных функций
- •Организация интерфейса при помощи встроенных функций
- •Функция MsgBox
- •Функция InputBox
- •Строковые функции
- •Примеры на использование различных строковых функций Функция Format
- •Функция Val
- •Функции Len, Mid
- •Функция Left
- •Функция Instr
- •Функция Chr
- •Математические функции
- •Функции Int и Fix
- •Функция Log
- •Функции Randomize и Rnd
- •Функции даты и времени
- •Примеры функций даты и времени Функции Day, Month, Year, DateSerial
- •Функции Now, Time, Timer
- •Функция WeekDay
- •Функции Hour, Minute, Second
- •Раздел 6.Объекты ms Excel
- •Свойства объектов
- •Методы объектов
- •Модель объектов
- •Коллекции объектов
- •Обращение к объекту Контейнеры
- •Ссылка на объект
- •Оператор With
- •Использование объектных переменных
- •Объект Application
- •Активные объекты
- •Свойства, влияющие на высвечивание на экране Свойство DisplayAlerts (r/w Boolean)
- •Свойства DisplayFormulaBar (r/w Boolean), DisplayStatusBar (r/w Boolean)
- •Свойство ScreenUpdating (r/w Boolean)
- •Свойства Top, Left, Height, Width, UsableWidth, WindowState
- •Свойство Visible (r/w Boolean)
- •Другие свойства объекта Application
- •Методы Метод Calculate
- •Метод CheckSpelling
- •Метод OnTime
- •Метод Wait
- •Коллекции объектов
- •Объекты Workbooks и Workbook
- •Событийные процедуры
- •Объекты Sheets, WorkSheets и WorkSheet
- •Свойства Свойство Name (r/w String)
- •Свойство Type (r/o String)
- •Свойство UsedRange
- •Свойства Next и Previous
- •Свойство Parent
- •Свойство Visible (r/w Boolean)
- •Методы Метод Add
- •Методы Move и Select
- •Событийные процедуры
- •Объект Range
- •Свойства Cвойство Range
- •Свойство Cells
- •Свойство Offset
- •Метод Union и свойство Areas
- •Свойства Column и Row (r/o Integer)
- •Свойства Columns и Rows
- •Свойство CurrentRegion
- •Cвойства, связанные с шириной и высотой ячейки
- •Методы Методы Select и Activate
- •Метод Clear
- •Цветовое оформление объекта Range Свойство ColorIndex
- •Свойство Color
- •Раздел 7.Пользовательские формы
- •Режимы работы с формой
- •Режим конструктора
- •Элементы управления
- •Событийные процедуры
- •Режим выполнения
- •Объекты UserForm и Controls
- •Разработка приложения
- •Приложение 1
- •Конструирование начальной формы
- •Свойства формы и элементов управления
- •Создание событийных процедур
- •Конструирование формы для выбора рабочего листа
- •Создание событийных процедур
- •Элемент ListBox
- •Событийная процедура инициализации формы
- •Завершение разработки приложения
- •Связь формы с ячейками рабочего листа
- •Элемент TextBox
- •Элемент ListBox
- •Приложение 2
- •Конструирование форм
- •Процедуры
- •Приложение a. Справочная система Просмотр объектов, их свойств и методов (Object Browser)
- •Окно Object Browser
- •Панель инструментов Object Browser
- •Выход из Object Browser
- •Интерактивная подсказка
- •Приложение b. Инструментальные средства отладки программ
- •Контрольные точки или точки останова
- •Трассировка или пошаговое выполнение программы
- •Использование объекта Debug
- •Окна отладчика
- •Immediate Window (окно проверки)
- •Окно значения переменной
- •Locals Window (окно локальных переменных)
- •Окно контрольных значений (Watches)
- •Приложение c. Основные формы записи алгоритмов
- •Понятие "алгоритм"
- •Классификация алгоритмов
- •Способы записи алгоритмов
- •Запись на естественном языке
- •Изображение алгоритма в виде графических символов
- •Представление основных типов алгоритмов в виде блок-схем
Раздел 4. Операторы управления 51
Условный оператор If 51
If condition Then [statements] [Else elsestatements] 51
Синтаксис оператора при записи блоком 51
End If 51
Важно 52
Примеры 53
Оператор выбора Select Case 54
Синтаксис оператора 54
End Select 54
Важно 55
Примеры 56
Операторы цикла 56
Важно 57
Цикл For…Next 57
Синтаксис оператора 57
Next [counter] 57
Внимание 58
Примеры 58
Цикл For Each…Next 59
Синтаксис оператора 59
Next [element] 59
Важно 60
Set objectvar = objectexpression|Nothing 60
Внимание 60
Примеры 60
Цикл Do…Loop 61
Do [(While|Until) condition] 61
Loop [(While | Until) condition] 61
Замечания 63
Примеры 63
Цикл While…Wend 65
While condition 65
Wend 65
Внимание 65
Раздел 5. Процедуры, подпрограммы и функции 66
Преимущества 66
Важно 66
Классификация процедур 66
Обычно в составе проекта присутствуют 67
Замечание 67
Удобно 67
Структура и объявление процедуры 68
Запомните 68
Синтаксис объявления процедуры общего типа 68
Важно 69
Синтаксис объявления функции 69
Важно 69
Вызов процедуры 69
Важно 70
Замечание. 70
Пример 71
Параметры и аргументы 71
Пример 71
Замечания 71
Важно 72
Важно 72
Ключевое слово ParamArray 72
Важно 73
Возврат значения функции 74
Замечание 74
Примеры 74
Использование процедур-функций на рабочем листе 75
Пример 75
внимание 76
ЗамечаниЕ 76
Поименованные аргументы 76
Преимущества 76
Пример 77
Использование необязательных аргументов 77
Пример 77
Использование параметра ParamArray 77
Замечание 78
Пример 78
Вызов процедур другого проекта 78
Рис. 5.1. Установка ссылки на проект Project1 79
Замечание 79
Автопроцедуры 79
Запомните 80
Пример 80
Событийные процедуры 80
Пример 80
Рис. 5.2. Выбор события для объекта Эта книга 81
Рекурсивные процедуры 81
Пример 81
ЗАПОМНИТЕ 82
Встроенные функции 82
Классы функций 82
Рис. 5.3. Классы функций и перечень строковых функций 82
Внимание 83
Использование табличных функций 83
Пример 83
Организация интерфейса при помощи встроенных функций 83
Синтаксис функции MsgBox 83
MsgBox(prompt [,buttons] [,title] [,helpfile, context]) 83
Важно 84
Названия и коды кнопок, пиктограмм и модальности диалога MsgBox 84
Примеры 85
Рекомендуется 85
Перечень значений, возвращаемых функцией MsgBox 85
InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context]) 86
Важно 86
Примеры 87
Строковые функции 88
Строковые функции VBA 88
Пример 90
Важно 91
Функция Mid выделяет подстроку. Синтаксис Mid(string, start [, length]) 91
Пример 91
Пример 92
Синтаксис InStr([start,] string1, string2[,compare]) 92
Пример 92
Пример 93
Математические функции 93
Математические функции 94
Пример 95
Пример 96
Функции даты и времени 97
Важно 97
Пример 98
Примеры 98
1. Процедура распечатывает количество минут и секунд от полуночи до текущего времени. Результат: 720 минут и 43200 секунд. 98
Синтаксис Weekday(date, [firstdayofweek]) 99
Пример 99
Какой день недели приходится на 4 ноября в течение ближайших пяти лет? 99
Пример 99