ExcelВведение 11
Структура книги 11
Общие положения 12
Назначение и функциональные возможности Microsoft Excel. 13
Используемая терминология 13
Тексты программ на сайте издательства 16
От издательства 16
Глава 1. Краткое руководство по VBA 17
Знакомство с VBA 18
Возможности VBA 18
Структура проекта VBA 18
Структура модуля VBA 21
Соглашения, применяемые при описании синтаксиса VBA 21
Комментарии в программе 23
Идентификаторы 23
Переменные 24
Встроенные типы данных 24
Ссылки. Тип данных Object 26
Объявление переменных 27
Инициализация переменных 28
Явное и неявное объявление переменных 28
Константы 29
Операторы 29
Операторы для работы с численными значениями 29
Операторы сравнения 30
Логические операторы 32
Массивы 32
Объявление массива 33
Задание нижней границы по умолчанию 34
Изменение размера массива 34
Определение границ массива 35
Доступ к элементам массива 35
Использование переменной Variant при работе с массивами. 35
Использование функции Array для заполнения массива 36
Коллекции 36
Добавление элементов 37
Количество элементов в коллекции 37
Удаление элементов из коллекции 38
Доступ к элементам коллекций 38
Определяемые пользователем типы данных 38
Структуры 38
Перечисления 41
Управление выполнением программы 42
Циклы 43
Инструкции выбора 46
Инструкции безусловного перехода 49
Процедуры и функции 51
Объявление процедур 51
Вызов процедур 53
Объявление функций. Возврат значения 54
Вызов функций 55
Особенности передачи параметров 56
Определение и преобразование типов переменных 58
Определение типов переменных 58
Преобразование типов 60
Файловый ввод/вывод 61
Открытие файлов 61
Дескрипторы файлов. Функция FreeFile 62
Закрытие файлов 63
Чтение из файлов и запись в файлы 63
Определение конца файла 66
Определение текущей позиции файла 66
Стандартные окна сообщений 67
Обработка ошибок времени выполнения 68
Перехват ошибок 69
Обработка перехваченных ошибок 69
Классы в VBA 71
Создание класса на VBA 71
Свойства класса 72
Методы класса 73
Использование класса в программе 73
Использование API-функций в VBA 74
Объявление API-функций 75
Вызов API-функций 76
Использование объектов Excel 76
Объектная модель Excel 77
Доступ к объектам Excel из программы 78
Глава 2. Рабочая область Microsoft Excel 80
Рабочая книга 81
Автозапуск любимого файла при загрузке Excel 81
Эксперимент с кнопкой Закрыть на панели инструментов 81
Общий макрос для всех книг Excel 82
Восстановление важной информации из испорченного файла 83
Быстрое размножение рабочей книги 83
Сохранение рабочей книги с именем, представляющим
собой текущую дату 84
Создание книги с одним листом 85
Установка и снятие защиты рабочей книги 85
Закрытие рабочей книги только при выполнении условия 86
Быстрое удаление из рабочей книги ненужных имен 87
Сортировка листов в текущей рабочей книге 88
Импорт данных, для которых нужно более 256 столбцов 92
Рабочий лист 95
Листы-синонимы 95
Автоматическая вставка URL-адреса 95
Быстрый переход по рабочему листу 96
Разные листы с общими данными 97
Рисование «правильных» фигур 97
Скрытие данных от посторонних 97
Новый лист — через макрос 98
Блокировка использования контекстного меню 98
Вставка колонтитула с именем книги, листа и текущей датой 99
Проверка существования листа 99
Проверка, защищен ли рабочий лист 100
Сколько страниц на всех листах? 101
Автоматический пересчет данных таблицы
при изменении ее значений 101
Ячейка и диапазон 103
Быстрое заполнение ячеек 103
Автоматизация ввода данных в ячейки 103
Ввод дробных чисел 104
Сбор данных из разных ячеек 105
Выделение диапазона над текущей ячейкой 105
Поиск ближайшей пустой ячейки столбца 106
Поиск максимального значения в диапазоне 106
Автоматическая замена значений диапазона 107
Засекречивание содержимого ячейки 107
Всем ячейкам диапазона — одно значение 109
«Фотографирование» ячеек 109
Добавление в ячейку раскрывающегося списка 110
Быстрое заполнение диапазона 110
Гиперссылки — в виде обычного текста 114
Помещение в ячейку электронных часов 115
«Будильник» 115
Поиск данных в диапазоне 116
Создание цветной границы диапазона 118
Автоматическое определение адреса ячейки 118
Автоматизация добавления примечаний в указанном диапазоне 119
Заливка диапазона 120
Ввод строго ограниченных значений в указанный диапазон. 120
Последовательный ввод данных 123
Быстрое выделение ячеек с отрицательными значениями 124
Получение информации о выделенном диапазоне 125
Панель инструментов изменения числового формата ячейки. 127
Тестирование скорости чтения и записи диапазонов 129
Работа с формулами 131
Складывание и вычитание даты и времени 131
Складывание диапазонов разных листов 131
Накопление итога в ячейке 131
Быстрое размножение формул 132
Маскировка формул от других пользователей 132
Быстрое суммирование всех ячеек столбца или строки 133
Вместо формулы — текущее значение 133
Повышение точности вычисления формул 134
Быстрая проверка правильности формул 134
Скрытие сообщений об ошибках при вычислениях 136
Разработка и применение полезных пользовательских функций 136
Объединение данных диапазона 137
Объединение данных с учетом форматов 138
Эксперименты с датой 139
Выбор из текста всех чисел 139
Прописная буква только в начале текста 140
Перевод чисел в «деньги» 140
Подсчет количества повторов искомого текста 142
Суммирование данных только видимых ячеек 143
При суммировании — курсор внутри диапазона 143
Вывод суммы прописью 144
Начисление процентов в зависимости от суммы 144
Еще о расчете процентов 146
Сводный пример расчета комиссионного вознаграждения 147
Подсчет количества ячеек, содержащих указанные значения 150
Подсчет количества видимых ячеек в диапазоне 151
Поиск ближайшего понедельника 152
Подсчет количества полных лет 153
Проверка, была ли сохранена рабочая книга 153
Расчет средневзвешенного значения 154
Преобразование номера месяца в его название 155
Расчет суммы первых значений диапазона 155
Поиск последней непустой ячейки диапазона 156
Поиск последней непустой ячейки столбца 156
Поиск последней непустой ячейки строки 157
Подсчет количества ячеек в диапазоне,
содержащих указанные значения 157
Англоязычный текст — заглавными буквами 158
Отображение текста «задом наперед» 159
Поиск максимального значения на всех листах книги 160
Использование относительных ссылок 161
Определение типа данных ячейки 162
Выделение из текста произвольного элемента 163
Генератор случайных чисел 165
Случайные числа — на основании диапазона 166
Глава 3. Создание трюков с помощью макросов 168
Подсчет количества открытий файла 169
Получение «закрытой» информации 170
Произвольный текст в строке состояния 170
Быстрое изменение заголовка окна 171
Ввод данных с помощью диалогового окна 173
Применение функции без ввода ее в ячейку 174
Скрытие строк и столбцов от посторонних 174
Быстрое выделение ячеек, расположенных через интервал 177
Определение количества ячеек в диапазоне и суммы их значений 178
Подсчет именованных объектов 180
Быстрый поиск курсора 181
Поиск начала и окончания диапазона, содержащего данные 181
Трюки с примечаниями 182
Подсчет примечаний 182
Вывод на экран всех примечаний рабочего листа 183
Создание списка примечаний рабочего листа 184
Несколько трюков в одном примере 186
Дополнение панели инструментов 188
Примеры создания панелей инструментов 189
Формирование пользовательского меню 192
Проверка наличия файла по указанному пути 194
Автоматизация удаления файлов 197
Перечень имен листов в виде гиперссылок 198
Удаление пустых строк на рабочем листе 199
Запись текущих данных в текстовый файл 200
Экспорт и импорт данных 201
Одновременное умножение всех данных диапазона 203
Преобразование таблицы Excel в HTML-формат 205
Поиск данных нештатными средствами 210
Включение автофильтра с помощью макроса 211
Трюки с форматированием 212
Изменение формата представления чисел нештатными средствами 212
Помещение последнего символа ячейки над строкой 213
Создание нестандартной рамки 213
Быстрая вставка фамилий должностных лиц в документ 214
Вызов окна настройки шрифта 215
Вывод информации о текущем документе 216
Вывод результата расчетов в отдельном окне 216
Вывод разрешения монитора 217
Что открыто в данный момент? 218
Создание бегущей строки 219
Создание бегущей картинки 219
Мигающая ячейка 221
Вращающиеся автофигуры 222
Вызов таблицы цветов 225
Создание калькулятора 226
Еще о создании пользовательских меню 228
Меню с пользовательскими командами 228
Замена стандартного меню пользовательским 233
Склонение фамилии, имени и отчества 234
Получение информации об используемом принтере 239
Вывод текущей даты и времени 241
Автоматическое создание документов
Word на основе табличных данных Excel 242
Создание списка панелей инструментов и контекстных меню 245
Создание списка пунктов главного меню Excel 246
Создание списка пунктов контекстных меню 247
Отображение панели инструментов при определенном условии. 248
Скрытие и отображение панелей инструментов 251
Создание меню на основе данных рабочего листа 252
Создание контекстного меню 256
Просмотр содержимого папки 260
Получение информации о состоянии дисков 265
Расчет среднего арифметического 267
Вывод списка доступных шрифтов 268
Обработка сразу нескольких внешних файлов 269
Запуск таблицы символов из Excel 271
Создание раскрывающегося списка 274
Добавление команды в меню 276
Добавление команды в меню Сервис 276
Добавление команды в меню Вид 277
Глава 4. Трюки и эффекты с помощником 281
Мультфильм с помощником в главной роли 282
Дополнение помощника текстом, заголовком, кнопкой и значком 283
Новые параметры помощника 285
Использование помощника для выбора цвета заливки 286
Глава 5. Эксперименты с диаграммами 289
Построение диаграммы с помощью макроса 290
Сохранение диаграммы в отдельном файле 293
Построение и удаление диаграммы нажатием одной кнопки 294
Вывод списка диаграмм в отдельном окне 296
Применение случайной цветовой палитры 297
Эффект прозрачности диаграммы 298
Построение диаграммы на основе данных нескольких рабочих листов 300
Создание подписей к данным диаграммы 303
Глава 6. Создание полезных программ 306
Программа для составления кроссвордов 307
Написание макросов 307
Создание пользовательских форм 311
Порядок использования программы 313
Игра «Минное поле» 315
Игра «Угадай животное» 318
Расчет на основании ячеек определенного цвета 323
Создание программы 323
Работа с программой 337
Глава 7. Полезные советы 339
Приложение. Основные объекты Excel 351
Объект Application 351
Объект Chart 355
Объект Range 357
Объект Workbook 362
Объект Worksheet 364
Алфавитный указатель 367