
- •Глава 1. Макросы Запуск макроса с поиском ячейки
- •Запуск макроса при открытии книги
- •Запуск макроса при вводе в ячейку «2»
- •Запуск макроса при нажатии «Ентер»
- •Добавить в панель свою вкладку «Надстройки» (Формат ячейки)
- •Глава 2. Работа с файлами (т.Е.Обмен данными с тхт, rtf, xls и т.Д.) Проверка наличия файла по указанному пути_1
- •Проверка наличия файла по указанному пути_2
- •Проверка наличия файла по указанному пути_3
- •Поиск нужного файла_1
- •Поиск нужного файла_2
- •Поиск нужного файла_3
- •Обработка нескольких текстовых файлов
- •Экспорт данных в txt
- •Экспорт данных в html
- •Импорт данных, для которых нужно более 256 столбцов
- •Создание резервных копий ценных файлов
- •Подсчет количества открытий файла
- •Вывод пути к файлу в активную ячейку
- •Копирование содержимого файла rtf в эксель
- •Копирование данных из закрытой книги
- •Извлечение данных из закрытого файла
- •Поиск слова в файлах
- •Создание текстового файла и ввод текста в файл
- •Создание текстового файла и ввод текста (определение конца файла)
- •Создание документов Word на основе таблицы Excel
- •Посмотреть все файлы в каталоге_3
- •Быстрое размножение рабочей книги
- •Сортировка листов
- •Поиск максимального значения на всех листах книги
- •Рабочий лист Проверка наличия защиты рабочего листа
- •Список отсортированных листов
- •Создать новый лист_1
- •Создать новый лист_2
- •Удаление листов в зависимости от даты
- •Существует ли лист_2
- •Вывод количества листов в активной книге
- •Вывод количества листов в активной книге в виде гиперссылок
- •Подсчет количества ячеек, содержащих указанные значения_1
- •Подсчет количества ячеек в диапазоне, содержащих указанные значения_2
- •Подсчет количества видимых ячеек в диапазоне
- •Определение количества ячеек в диапазоне и суммы их значений
- •Подсчет количества ячеек
- •Автоматический пересчет данных таблицы при изменении ее значений
- •Ввод данных в ячейки
- •Ввод данных с использованием формул
- •Последовательный ввод данных
- •Ввод текстоввых данных в ячейки
- •Вывод в ячейки названия книги, листа и количества листов
- •Удаление пустых строк_1
- •Удаление пустых строк_2
- •Удаление пустых строк_3
- •Удаление строки по условию
- •Выделение ячеек через интервал_2
- •Выделение нескольких диапазонов
- •Движение по ячейкам
- •Поиск ближайшей пустой ячейки столбца
- •Поиск максимального значения
- •Поиск и замена по шаблону
- •Поиск значения с отображением результата в отдельном окне
- •Поиск с выделением найденных данных_1
- •Поиск с выделением найденных данных_2
- •Поиск по условию в диапазоне
- •Поиск последней непустой ячейки диапазона
- •Поиск последней непустой ячейки столбца
- •Поиск последней непустой ячейки строки
- •Поиск ячейки синего цвета в диапазоне
- •Поиск отрицательного значения в диапазоне и выделения синим цветом
- •Поиск наличия значения в столбце
- •Поиск совпадений в диапазоне
- •Поиск ячейки в диапазоне_1
- •Поиск ячейки в диапазоне_2
- •Заполнение через интервал(массив)
- •Заполнение указанного диапазона(массив)
- •Заполнение диапазона(массив)
- •Расчет суммы первых значений диапазона
- •Размещение в ячейке электронных часов
- •«Будильник»
- •Оформление верхней и нижней границ диапазона
- •Вывод адреса конца диапазона
- •Получение информации о выделенном диапазоне
- •Деление диапазона на 100
- •Возведение каждой ячейки диапазона в квадрат
- •Суммирование данных только видимых ячеек
- •Сумма ячеек с числовыми значениями
- •При суммировании — курсор внутри диапазона
- •Начисление процентов в зависимости от суммы_1
- •Начисление процентов в зависимости от суммы_2
- •Начисление процентов в зависимости от суммы_3
- •Сводный пример расчета комиссионного вознаграждения
- •Движение по диапазону
- •Объединение данных диапазона
- •Объединение данных диапазона_2
- •Узнать максимальную колонку или строку.
- •Ограничение возможных значений диапазона
- •Тестирование скорости чтения и записи диапазонов
- •Глава 4. Работа с примечаниями Вывод на экран всех примечаний рабочего листа
- •Функция извлечения комментария
- •Список примечаний защищенных листов
- •Перечень примечаний в отдельном списке_1
- •Перечень примечаний в отдельном списке_2
- •Перечень примечаний в отдельном списке_3
- •Подсчет количества примечаний_1
- •Перенос значений из ячейки в комментарий_1
- •Перенос значений из ячейки в комментарий_2
- •Панель с двумя кнопками
- •Создание панели справа
- •Вызов предварительного просмотра
- •Создание пользовательского меню (вариант 1)
- •Создание пользовательского меню (вариант 2)
- •Создание пользовательского меню (вариант 3)
- •Создание пользовательского меню (вариант 4)
- •Создание пользовательского меню (вариант 5)
- •Создание пользовательского меню (вариант 6)
- •Создание списка пунктов главного меню Excel
- •Создание списка пунктов контекстных меню
- •Отображение панели инструментов при определенном условии
- •Скрытие и отображение панелей инструментов
- •Создать подсказку к моим кнопкам
- •Создание меню на основе данных рабочего листа
- •Создание контекстного меню
- •Блокировка контекстного меню
- •Добавление команды в меню Сервис
- •Добавление команды в меню Вид
- •Создание панели со списком
- •Мультфильм с помощником в главной роли
- •Дополнение помощника текстом, заголовком, кнопкой и значком
- •Новые параметры помощника
- •Использование помощника для выбора цвета заливки
- •Глава . Диалоговые окна Функция inputbox (через ввод значения)
- •Вызов предварительного просмотра
- •Настройка ввода данных в диалоговом окне
- •Выбор из текста всех чисел
- •Прописная буква только в начале текста
- •Подсчет количества повторов искомого текста
- •Выделение из текста произвольного элемента
- •Отображение текста «задом наперед»
- •Англоязычный текст — заглавными буквами
- •Запуск таблицы символов из Excel
- •Глава информация о пользователе, компьютере, принтере и т.Д. Получить имя пользователя
- •Вывод разрешения монитора
- •Получение информации об используемом принтере
- •Просмотр информации о дисках компьютера
- •Глава . Юзерформы
- •Глава . Диаграммы Построение диаграммы с помощью макроса
- •Сохранение диаграммы в отдельном файле
- •Построение и удаление диаграммы нажатием одной кнопки
- •Вывод списка диаграмм в отдельном окне
- •Применение случайной цветовой палитры
- •Эффект прозрачности диаграммы
- •Построение диаграммы на основе данных нескольких рабочих листов
- •Создание подписей к данным диаграммы
- •ГлаВа . Разные программы. Программа для составления кроссвордов
- •Создать обложку dvd
- •Игра «Минное поле»
- •Игра «Угадай животное»
- •Расчет на основании ячеек определенного цвета
- •Глава .Другие функции и макросы Вызов функциональных клавиш
- •Расчет среднего арифметического значения
- •Перевод чисел в «деньги»
- •Поиск ближайшего понедельника
- •Подсчет количества полных лет
- •Расчет средневзвешенного значения
- •Преобразование номера месяца в его название
- •Использование относительных ссылок
- •Преобразование таблицы Excel в html-формат
- •Генератор случайных чисел
- •Случайные числа — на основании диапазона
- •Создание бегущей картинки
- •Вращающиеся автофигуры
- •Вызов таблицы цветов
- •Создание калькулятора
- •Склонение фамилии, имени и отчества
- •Глава . Дата и время Вывод даты и времени_1
- •Вывод даты и времени_2
- •Получение системной даты
- •Извлечение даты и часов
- •Функция ДатаПолная
Подсчет количества примечаний_1
Sub CountOfComments()
Dim intCommentCount As Integer
' Получение и отображение количества примечаний
intCommentCount = ActiveSheet.Comments.Count
If intCommentCount = 0 Then
MsgBox "Текущая рабочая книга не содержит примечаний.", _
vbInformation
Else
MsgBox "В текущей рабочей книге содержится " & intCommentCount _
& " комментариев.", vbInformation
End If
End Sub
Подсчет количества примечаний_2
' Function IsCommentsPresent
' Возвращает TRUE, если на активном рабочем листе имеется хотя бы
' одна ячейка с комментарием, иначе возвращает FALSE
'
Public Function IsCommentsPresent() As Boolean
IsCommentsPresent = ( ActiveSheet.Comments.Count <> 0 )
End Function
Подсчет примечаний_3
Sub CountOfComment()
Dim intCommentCount As Integer
' Получение и отображение количества примечаний _
на текущем листе
intCommentCount = ActiveSheet.Comments.Count
If intCommentCount = 0 Then
MsgBox "Примечаний нет"
Else
MsgBox "Примечаний: " & intCommentCount & " шт."
End If
End Sub
Выделение ячеек с примечаниями
Sub SelectComments()
' Выделение всех ячеек с примечаниями
Cells.SpecialCells(xlCellTypeComments).Select
End Sub
Отображение всех примечаний
Sub ShowComments()
' Отображение всех примечаний
If Application.DisplayCommentIndicator = xlCommentAndIndicator Then
Application.DisplayCommentIndicator = xlCommentIndicatorOnly
Else
Application.DisplayCommentIndicator = xlCommentAndIndicator
End If
End Sub
Изменение цвета примечаний
Sub ChangeCommentColor()
' Автоматическое изменение цвета комментариев
Dim comment As comment
For Each comment In ActiveSheet.Comments
' Задаем случайные цвета заливки и шрифта комментариев
comment.Shape.Fill.ForeColor.SchemeColor = Int((80) * Rnd + 1)
comment.Shape.TextFrame.Characters.Font.ColorIndex = Int((56 _
) * Rnd + 1)
Next
End Sub
Добавление примечаний
Dim r As Range
Dim rwIndex As Integer
For rwIndex = 1 To 3
Set r = Worksheets("WombatBattingAverages").Cells(rwIndex, 2)
With r
If .Value >= 0.3 Then
.AddComment "All Star!"
End If
End With
Next rwIndex
Добавление примечаний в диапазон по условию
Sub CreateComments()
Dim cell As Range
' Производим поиск по всем ячейкам диапазона и добавляем примечания _
ко всем ячейкам, содержащим слово "Выручка"
For Each cell In Range("B1:B100")
If cell.Value Like "*Выручка*" Then
cell.ClearComments
cell.AddComment "Неучтенная наличка"
End If
Next
End Sub
Перенос комментария в ячейку и обратно
Sub Комментарий_в_ячейку_в_диапазоне()
'переносит комментарий в ячейку
Dim i As Long
Dim c As Range, cc As Range
Dim iCommment As Comments
Application.DisplayCommentIndicator = xlCommentIndicatorOnly
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set cc = Selection
'если выделили 1 ячейку, то выход
If cc.Rows.Count = 1 And cc.Columns.Count = 1 Then
MsgBox "Выделено слишком мало ячеек!", , "Ошибка"
End
End If
Set cc = Selection.SpecialCells(xlCellTypeVisible)
For Each c In cc
If Not c.Comment Is Nothing Then
c.Value = c.Comment.Text
'c.ClearComments 'если надо удалить комментарий
i = i + 1
End If
End If
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
MsgBox "Перенесено " & i & " комментариев!"
Exit Sub
End Sub