- •Оглавление
- •Глава 2. Рабочая область Microsoft Excel 7
- •Глава 3. Создание трюков с помощью макросов 52
- •Глава 4. Трюки и эффекты с помощником 125
- •Закрытие рабочей книги только при выполнении условия
- •Быстрое удаление из рабочей книги ненужных имен
- •Сортировка листов в текущей рабочей книге
- •Импорт данных, для которых нужно более 256 столбцов
- •Рабочий лист Новый лист — через макрос
- •Блокировка использования контекстного меню
- •Вставка колонтитула с именем книги, листа и текущей датой
- •Проверка существования листа
- •Проверка, защищен ли рабочий лист
- •Сколько страниц на всех листах?
- •Автоматический пересчет данных таблицы при изменении ее значений
- •Ячейка и диапазон
- •Второй способ
- •Третий способ
- •Помещение в ячейку электронных часов
- •Создание цветной границы диапазона
- •Непосредственный ввод данных
- •Последовательный ввод данных
- •Быстрое выделение ячеек с отрицательными значениями
- •Получение информации о выделенном диапазоне
- •Панель инструментов изменения числового формата ячейки
- •Тестирование скорости чтения и записи диапазонов
- •Разработка и применение полезных пользовательских функций Объединение данных диапазона
- •Объединение данных с учетом форматов
- •Эксперименты с датой
- •Выбор из текста всех чисел
- •Прописная буква только в начале текста
- •Перевод чисел в «деньги»
- •Подсчет количества повторов искомого текста
- •Суммирование данных только видимых ячеек
- •При суммировании — курсор внутри диапазона
- •Начисление процентов в зависимости от суммы
- •Еще о расчете процентов
- •Сводный пример расчета комиссионного вознаграждения
- •Подсчет количества ячеек, содержащих указанные значения
- •Подсчет количества видимых ячеек в диапазоне
- •Поиск ближайшего понедельника
- •Подсчет количества полных лет
- •Проверка, была ли сохранена рабочая книга
- •Расчет средневзвешенного значения
- •Преобразование номера месяца в его название
- •Отображение текста «задом наперед»
- •Поиск максимального значения на всех листах книги
- •Использование относительных ссылок
- •Определение типа данных ячейки
- •Выделение из текста произвольного элемента
- •Генератор случайных чисел
- •Случайные числа — на основании диапазона
- •Глава 3. Создание трюков с помощью макросов Подсчет количества открытий файла
- •Получение «закрытой» информации
- •Произвольный текст в строке состояния
- •Быстрое изменение заголовка окна
- •Ввод данных с помощью диалогового окна
- •Применение функции без ввода ее в ячейку
- •Скрытие строк и столбцов от посторонних
- •Быстрое выделение ячеек, расположенных через интервал
- •Определение количества ячеек в диапазоне и суммы их значений
- •Подсчет именованных объектов
- •Быстрый поиск курсора
- •Создание списка примечаний рабочего листа
- •Несколько трюков в одном примере
- •Дополнение панели инструментов
- •Примеры создания панелей инструментов
- •Формирование пользовательского меню
- •Проверка наличия файла по указанному пути
- •Автоматизация удаления файлов
- •Перечень имен листов в виде гиперссылок
- •Удаление пустых строк на рабочем листе
- •Запись текущих данных в текстовый файл
- •Экспорт и импорт данных
- •Одновременное умножение всех данных диапазона
- •Преобразование таблицыExcelв html-формат
- •Поиск данных нештатными средствами
- •Включение автофильтра с помощью макроса
- •Быстрая вставка фамилий должностных лиц в документ
- •Вызов окна настройки шрифта
- •Вывод информации о текущем документе
- •Вывод результата расчетов в отдельном окне
- •Вывод разрешения монитора
- •Что открыто в данный момент?
- •Создание бегущей строки
- •Создание бегущей картинки
- •Мигающая ячейка
- •Вращающиеся автофигуры
- •Вызов таблицы цветов
- •Создание калькулятора
- •Еще о создании пользовательских меню Меню с пользовательскими командами
- •Замена стандартного меню пользовательским
- •Склонение фамилии, имени и отчества
- •Получение информации об используемом принтере
- •Вывод текущей даты и времени
- •Автоматическое создание документовWordна основе табличных данныхExcel
- •Создание списка панелей инструментов и контекстных меню
- •Создание списка пунктов главного менюExcel
- •Создание списка пунктов контекстных меню
- •Отображение панели инструментов при определенном условии
- •Скрытие и отображение панелей инструментов
- •Создание меню на основе данных рабочего листа
- •Создание контекстного меню
- •Просмотр содержимого папки
- •Получение информации о состоянии дисков
- •Расчет среднего арифметического
- •Вывод списка доступных шрифтов
- •Обработка сразу нескольких внешних файлов
- •Запуск таблицы символов изExcel
- •Создание раскрывающегося списка
- •Добавление команды в меню Добавление команды в меню Сервис
- •Добавление команды в меню Вид
- •Глава 4. Трюки и эффекты с помощником Мультфильм с помощником в главной роли
- •Дополнение помощника текстом, заголовком, кнопкой и значком
- •Новые параметры помощника
- •Использование помощника для выбора цвета заливки
- •Глава 5. Эксперименты с диаграммами Построение диаграммы с помощью макроса
- •Сохранение диаграммы в отдельном файле
- •Построение и удаление диаграммы нажатием одной кнопки
- •Вывод списка диаграмм в отдельном окне
- •Применение случайной цветовой палитры
- •Эффект прозрачности диаграммы
- •Построение диаграммы на основе данных нескольких рабочих листов
- •Создание подписей к данным диаграммы
- •Глава 6. Создание полезных программ Программа для составления кроссвордов
- •Игра «Минное поле»
- •Игра «Угадай животное»
- •Расчет на основании ячеек определенного цвета
Глава 3. Создание трюков с помощью макросов 52
Подсчет количества открытий файла 52
Получение «закрытой» информации 52
Произвольный текст в строке состояния 52
Быстрое изменение заголовка окна 53
Ввод данных с помощью диалогового окна 53
Применение функции без ввода ее в ячейку 54
Скрытие строк и столбцов от посторонних 54
Быстрое выделение ячеек, расположенных через интервал 55
Определение количества ячеек в диапазоне и суммы их значений 56
Подсчет именованных объектов 57
Быстрый поиск курсора 58
Поиск начала и окончания диапазона, содержащего данные 58
Трюки с примечаниями 58
Подсчет примечаний 58
Вывод на экран всех примечаний рабочего листа 59
Создание списка примечаний рабочего листа 60
Несколько трюков в одном примере 61
Дополнение панели инструментов 63
Примеры создания панелей инструментов 63
Формирование пользовательского меню 65
Проверка наличия файла по указанному пути 66
Автоматизация удаления файлов 69
Перечень имен листов в виде гиперссылок 69
Удаление пустых строк на рабочем листе 69
Запись текущих данных в текстовый файл 70
Экспорт и импорт данных 71
Одновременное умножение всех данных диапазона 73
Преобразование таблицы Excel в HTML-формат 73
Поиск данных нештатными средствами 77
Включение автофильтра с помощью макроса 78
Трюки с форматированием 78
Изменение формата представления чисел нештатными средствами 78
Помещение последнего символа ячейки над строкой 79
Создание нестандартной рамки 79
Быстрая вставка фамилий должностных лиц в документ 80
Вызов окна настройки шрифта 80
Вывод информации о текущем документе 81
Вывод результата расчетов в отдельном окне 81
Вывод разрешения монитора 81
Что открыто в данный момент? 82
Создание бегущей строки 82
Создание бегущей картинки 83
Мигающая ячейка 84
Вращающиеся автофигуры 85
Вызов таблицы цветов 87
Создание калькулятора 88
Еще о создании пользовательских меню 88
Меню с пользовательскими командами 88
Замена стандартного меню пользовательским 92
Склонение фамилии, имени и отчества 93
Получение информации об используемом принтере 98
Вывод текущей даты и времени 99
Автоматическое создание документов Word на основе табличных данных Excel 100
Создание списка панелей инструментов и контекстных меню 102
Создание списка пунктов главного меню Excel 103
Создание списка пунктов контекстных меню 103
Отображение панели инструментов при определенном условии 104
Скрытие и отображение панелей инструментов 106
Создание меню на основе данных рабочего листа 107
Создание контекстного меню 110
Просмотр содержимого папки 112
Получение информации о состоянии дисков 117
Расчет среднего арифметического 118
Вывод списка доступных шрифтов 118
Обработка сразу нескольких внешних файлов 119
Запуск таблицы символов из Excel 120
Создание раскрывающегося списка 121
Добавление команды в меню 122
Добавление команды в меню Сервис 122
Добавление команды в меню Вид 123
Глава 4. Трюки и эффекты с помощником 125
Мультфильм с помощником в главной роли 125
Дополнение помощника текстом, заголовком, кнопкой и значком 127
Новые параметры помощника 128
Использование помощника для выбора цвета заливки 129
Глава 5. Эксперименты с диаграммами 130
Построение диаграммы с помощью макроса 130
Сохранение диаграммы в отдельном файле 131
Построение и удаление диаграммы нажатием одной кнопки 132
Вывод списка диаграмм в отдельном окне 133
Применение случайной цветовой палитры 134
Эффект прозрачности диаграммы 134
Построение диаграммы на основе данных нескольких рабочих листов 136
Создание подписей к данным диаграммы 138
Глава 6. Создание полезных программ 139
Программа для составления кроссвордов 139
Игра «Минное поле» 143
Игра «Угадай животное» 146
Расчет на основании ячеек определенного цвета 148
Глава 2. Рабочая областьMicrosoftExcel
Рабочая книга
Быстрое размножение рабочей книги
Листинг 2.1.Размножение рабочей книги
SubDuplicateBook()
DimavarFileNamesAsVariant
' Формирование массива из путей для копий книги
avarFileNames = Array("C:\" & _
ActiveWorkbook.Name, "D:\" & ActiveWorkbook.Name)
' Сохранение книги
ActiveWorkbook.SaveAs avarFileNames
End Sub
Сохранение рабочей книги с именем, представляющим собой текущую дату
Листинг 2.2.Сохранение книги с именем, представляющим собой текущую дату
Sub SaveAsDate()
Dim strDate As String
' Получение текущей даты и представление ее в формате "ддммгг"
strDate=Format(Now(), "ddmmyy")
' Сохранение книги в текущую папку под новым именем
ActiveWorkbook.SaveAs ActiveWorkbook.Path & "\" & strDate
End Sub
Создание книги с одним листом
Листинг 2.3.Книга с одним листом
SubNewOneSheetBook()
Workbooks.AddxlWBATWorksheet
EndSub
Установка и снятие защиты рабочей книги
Листинг 2.4. Защита рабочей книги
Sub Worksheet_BeforeRightClick(ByVal Target As Range, _
Cancel As Boolean)
If Target.Address = "$D$2" Then
' Установка защиты рабочей книги (с паролем "123", _
включенной защитой структуры книги и защитой расположения _
окон)
ThisWorkbook.Protect"123",True,True
' Указание не обрабатывать нажатие кнопки мыши _
в этой ячейке
Cancel = True
ElseIf Target.Address = "$E$5" Then
' Снятие защиты с книги (необходимо указать ранее установленный _
пароль)
ThisWorkbook.Unprotect "123"
Cancel = True
End If
EndSub
Листинг 2.5.Запрет печати книги
Sub Workbook_BeforePrint(Cancel As Boolean)
' Установка флага в TrueзаставляетExсelигнорировать команду _
отправки книги на печать
Cancel=True
EndSub