No Image

Готовые макросы для экселя

СОДЕРЖАНИЕ
695 просмотров
10 марта 2020

Приветствую на странице, которую каждый начинающий VBA-программист просто обязан добавить в закладки. Сейчас расскажу почему.

Макросы могут сэкономить массу времени. Можно автоматизировать небольшие задачи (ссылка на примеры), или создавать целые проекты автоматизации. Нажал кнопку и макрос выполнил работу целого отдела (вот я вообще не преувеличиваю).

Если Вы не знаете, что такое макрос в Excel и для чего они нужны, то рекомендую начать обучение с бесплатного самоучителя. Сборник готовых примеров, конечно, тоже поможет, но лучше начать с основ, а потом уже переходить к практике.

Я ещё со школы начал изучать VBA. Читал книжки, пользовался макрорекордером (подсматривал код, изменял под себя).
Когда ты школьник, то верх мастерства сделать калькулятор или игру. Стал студентом — разработал инвестиционный проект строительства свиноводческого комплекса (вводишь пару основных цифр и программа говорит какая мощность комплекса нужна, сколько нужно людей и денег, плюс тонную документов с деталями цикла производства и план-график выхода на проектную мощность).

Это всё, конечно, интересно и круто, но не сравнить с написанием макросов для решения реальных бизнес-задач.

Представьте на минуту, что всю вашу рутину:

  • привести таблицу в «нормальный» вид;
  • собрать данные из нескольких файлов в один;
  • отфильтровать простыню из данных по нескольким критериям;
  • построить сводную таблицу, график и отправить боссу
  • тонна аналогичных скучных задач.

можно поручить Excel. ОДИН РАЗ прописать логику с помощью VBA и всё! Да, я знаю, что написание макроса иногда может занять неделю, а то и месяц. Но сколько вы каждый день/неделю/месяц тратите время на ерунду?

Я сам далеко не сразу узнал всё про макросы. Приходилось много читать скучных книг с примерами, которые даже не понимал куда применить, собирать по крупицам информацию в интернете. Да что там говорить — я и сейчас продолжаю изучать VBA.

Изначально я не хотел никому и не при каких обстоятельствах показывать сборник. Максимум ученикам и то, какую-нибудь урезанную версию (т..к постоянно добавляю новые коды). С рождением сына я пересмотрел свою позицию и захотел оставить след в истории (пафосно звучит, ну и пусть).

На поиск всех этих примеров я потратил слишком много времени, и будет круто, если сэкономлю ваше и вы сможете уделить его действительно важным вещам.

Если вы считаете, что что-то должно быть в списке, просто оставьте комментарий. Как только добавлю код — удалю комментарий, а про вас напишу в статье.

В этой огромной статье я собрал уже более 200 макросов, для удобства разбил их по группам.

Вы сможете использовать эти коды, даже если до этого не использовали VBA.

Работа с Excel файлами (WorkBook)

Работа с листами Excel файла (WorkSheets)

Работа с диапазонами (Range)

Эта часть посвящена диапазонам: их выбору, изменению, скрытию и т. д.

Макросы для работы с данными

Эта часть посвящена управлению данными: их очистке, форматированию и т. д.

В этом уроке я покажу Вам самые популярные макросы в VBA Excel, которые вы сможете использовать для оптимизации своей работы. VBA – это язык программирования, который может использоваться для расширения возможностей MS Excel и других приложений MS Office. Это чрезвычайно полезно для пользователей MS Excel, поскольку VBA может использоваться для автоматизации вашей работы и значительно увеличить Вашу эффективность. В этой статье Вы познакомитесь с VBA и я вам покажу некоторые из наиболее полезных, готовых к использованию примеров VBA. Вы сможете использовать эти примеры для создания собственных скриптов, соответствующих Вашим потребностям.

Вам не нужен опыт программирования, чтобы воспользоваться информаций из этой статьи, но вы должны иметь базовые знания Excel. Если вы еще учитесь работать с Excel, я бы рекомендовал Вам прочитать статью 20 формул Excel, которые вам нeобходимо выучить сейчас, чтобы узнать больше о функциональных возможностях Excel.

Я подготовил для вас несколько самых полезных примеров VBA Excel с большой функциональностью, которую вы сможете использовать для оптимизации своей работы. Чтобы их использовать, вам необходимо записать их в файл. Следующий параграф посвящен установке макроса Excel. Пропустите эту часть, если вы уже знакомы с этим.

Table of Contents

Как включить макросы в Excel

В Excel нажмите комбинацию клавиш alt + F11. Это приведет вас к редактору VBA в MS Excel. Затем щелкните правой кнопкой мыши папку Microsoft Excel Objects слева и выберите Insert => Module. Это место, где сохраняются макросы. Чтобы использовать макрос, вам нужно сохранить документ Excel как макрос. Из табуляции File => Save as, выберите Save as macro-enabled Workbok (расширение .xlsm) Теперь пришло время написать свой первый макрос!

1. Копирование данных из одного файла в другой.

Очень полезный макрос, поскольку он показывает, как скопировать ряд данных изнутри vba и как создать и назвать новую книгу. Вы можете изменить этот макрос в соответствии с вашими собственными требованиями:

Читайте также:  Почему в айтюнсе нет программ

2. Отображение скрытых строк

Иногда большие файлы Excel можно содержать скрытые строки для большей ясности И для лучшего удобства пользователей. Вот один макрос, который отобразит все строки из активной рабочей таблицы:

3. Удаление пустых строк и столбов

Пустые строки в Excel – может быть проблемой для обработки данных. Вот как избавиться от них:

4. Нахождение пустых ячеек

13. Создание сводной таблицы

14. Отправка активного файла по электронной почте

Мой любимый код VBA. Он позволяет вам прикреплять и отправлять файл, с которым вы работаете, с предопределенным адресом электронной почты, заголовком сообщения и телом сообщения! Сначала Вам нужно сделать референцию в Excel на Microsoft Outlook (в редакторе Excel VBA, нажмите tools => references и выберите Microsoft Outlook).

15. Вставка всех графиков Excel в презентацию PowerPoint

Очень удобный макрос, который позволяет вам добавлять все ваши графики Excel в презентацию Powerpoint одним щелчком мыши:

16. Вставка таблицы Excel в MS Word

Таблицы Excel обычно помещаются внутри текстовых документов. Вот один автоматический способ экспорта таблицы Excel в MS Word:

17. Извлечение слов из текста

Мы можем использовать формулы, если хотим извлечь определенное количество символов. Но что, если мы хотим извлечь только одно слово из предложения или диапазон слов в ячейке? Для этого мы можем сами создать функцию Excel с помощью VBA. Это одна из самых удобных функций VBA, поскольку она позволяет создавать собственные формулы, которые отсутствуют в MS Excel. Давайте продолжим и создадим две функции: findword() и findwordrev():

Отлично, мы уже создали две новые функции в Excel! Теперь попробуйте использовать их в Excel. Функция = FindWordRev (A1,1) берет последнее слово из ячейки A1. Функция = FindWord (A1,3) берет третье слово из ячейки A1 и т. Д.

18. Защита данных в MS Excel

Иногда мы хотим защитить данных нашего файла, чтобы только мы могли его изменять. Вот как это сделать с VBA:

Поздравления! Поскольку вы все еще читаете это, вы действительно заинтересованы в изучении VBA. Как вы уже сами видели, язык программирования VBA чрезвычайно полезен и может сэкономить нам много времени. Надеюсь, вы нашли эту информацию полезной и использовали ее, чтобы стать мастером MS Excel, VBA и компьютерных наук в целом.

Готовые макросы в VBA Excel, Миронов.

Код в стандартном модуле
Sub FastChangeNumberFormat()
Dim bar As CommandBar
Dim button As CommandBarButton

Проверка наличия файла по указанному пути_1.
Sub VerifyFileLocation()
Dim strFileName As String
Dim strFileTitle As String
‘Имя и путь искомого файла
strFileTitle = "primer.xls"
strFileName = "C:Документыprimer.xls"
‘Проверка наличия файла (функция Dir возвращает пустую _
строку, если по указанному пути файл обнаружить не удалось)
If Dir(strFileName) <> "" Then
MsgBox "Файл " & strFileTitle & " найден"
Else
MsgBox "Файл " & strFileTitle & " не найден"
End If
End Sub

Ограничение
Глава 1. Макросы 8
Запуск макроса с поиском ячейки 8
Запуск макроса при открытии книги 8
Запуск макроса при вводе в ячейку «2» 8
Запуск макроса при нажатии «Ентер» 9
Добавить в панель свою вкладку «Надстройки» (Формат ячейки) 9
Глава 2. Работа с файлами (т.е.обмен данными с ТХТ, RTF, XLS и т.д.) 11
Проверка наличия файла по указанному пути_1 11
Проверка наличия файла по указанному пути_2 11
Проверка наличия файла по указанному пути_3 11
Поиск нужного файла_1 12
Поиск нужного файла_2 12
Поиск нужного файла_3 13
Поиск нужного файла_4 13
Автоматизация удаления файлов 13
Произвольный текст в строке состояния 14
Восстановление строки состояния 14
Бегущая строка в строке состояния 14
Быстрое изменение заголовка окна 14
Быстрое изменение заголовка окна_2 14
Изменение заголовка окна (со скрытием названия файла) 14
Возврат к первоначальному заголовку 15
Что открыто в данный момент 15
Работа с текстовыми файлами 15
Запись и чтение текстового файла 15
Обработка нескольких текстовых файлов 16
Определение конца строки текстового файла 17
Копирование из текстового файла в эксель 18
Копирование содержимого в текстовый файл_1 18
Копирование содержимого в текстовый файл_2 18
Экспорт данных в txt 18
Экспорт данных в html 20
Импорт данных, для которых нужно более 256 столбцов 22
Создание резервных копий ценных файлов 25
Подсчет количества открытий файла 25
Вывод пути к файлу в активную ячейку 26
Копирование содержимого файла RTF в эксель 26
Копирование данных из закрытой книги 27
Извлечение данных из закрытого файла 27
Поиск слова в файлах 28
Создание текстового файла и ввод текста в файл 29
Создание текстового файла и ввод текста (определение конца файла) 30
Создание документов Word на основе таблицы Excel 30
Команды создания и удаления каталогов 32
Получение текущего каталога 32
Смена каталога 32
Посмотреть все файлы в каталоге_1 32
Посмотреть все файлы в каталоге_2 33
Посмотреть все файлы в каталоге_3 35
Глава 3. Рабочая область Microsoft Excel 37
Рабочая книга 37
Количество имен рабочей книги 37
Защита рабочей книги 37
Запрет печати книги 38
Открытие книги (или текстовых файлов) 38
Открытие книги и добавление в ячейку А1 текста 38
Сколько книг открыто 38
Закрытие всех книг 39
Закрытие рабочей книги только при выполнении условия 39
Сохранение рабочей книги с именем, представляющим собой текущую дату 39
Сохранена ли рабочая книга 39
Создать книгу с одним листом 39
Создать книгу 39
Удаление ненужных имен 40
Быстрое размножение рабочей книги 40
Сортировка листов 40
Поиск максимального значения на всех листах книги 42
Рабочий лист 43
Проверка наличия защиты рабочего листа 43
Список отсортированных листов 43
Создать новый лист_1 45
Создать новый лист_2 45
Удаление листов в зависимости от даты 45
Копирование листа в книге 46
Копирование листа в новую книгу (создается) 46
Перемещение листа в книге 46
Перемещение нескольких листов в новую книгу 46
Заменить существующий файл 46
«Перелистывание» книги 46
Вставка колонтитула с именем книги, листа и текущей датой 47
Существует ли лист 47
Существует ли лист_2 47
Вывод количества листов в активной книге 48
Вывод количества листов в активной книге в виде гиперссылок 48
Вывод имен активных листов по очереди 48
Вывод имени и номеров листов текущей книги 48
Сделать лист невидимым 49
Сколько страниц на всех листах? 49
Ячейка и диапазон (столбцы и строки) 49
Копирование строк на другой лист 49
Копирование столбцов на другой лист 49
Подсчет количества ячеек, содержащих указанные значения_1 50
Подсчет количества ячеек в диапазоне, содержащих указанные значения_2 50
Подсчет количества видимых ячеек в диапазоне 51
Определение количества ячеек в диапазоне и суммы их значений 51
Подсчет количества ячеек 51
Автоматический пересчет данных таблицы при изменении ее значений 51
Ввод данных в ячейки 53
Ввод данных с использованием формул 53
Последовательный ввод данных 53
Ввод текстоввых данных в ячейки 53
Вывод в ячейки названия книги, листа и количества листов 54
Удаление пустых строк_1 54
Удаление пустых строк_2 54
Удаление пустых строк_3 55
Удаление строки по условию 55
Удаление скрытых строк 56
Удаление используемых скрытых строк или строк с нулевой высотой 56
Удаление дубликатов по маске 56
Выделение диапазона над текущей ячейкой 57
Выделение диапазона над текущей ячейкой_2 57
Выделить ячейку и поместить туда число 58
Выделение отрицательных значений 58
Выделение диапазона и использование абсолютных адресов 58
Выделение ячеек через интервал_1 59
Выделение ячеек через интервал_2 59
Выделение нескольких диапазонов 60
Движение по ячейкам 60
Поиск ближайшей пустой ячейки столбца 61
Поиск максимального значения 61
Поиск и замена по шаблону 61
Поиск значения с отображением результата в отдельном окне 62
Поиск с выделением найденных данных_1 62
Поиск с выделением найденных данных_2 62
Поиск по условию в диапазоне 63
Поиск последней непустой ячейки диапазона 64
Поиск последней непустой ячейки столбца 64
Поиск последней непустой ячейки строки 64
Поиск ячейки синего цвета в диапазоне 65
Поиск отрицательного значения в диапазоне и выделения синим цветом 65
Поиск наличия значения в столбце 65
Поиск совпадений в диапазоне 66
Поиск ячейки в диапазоне_1 67
Поиск ячейки в диапазоне_2 67
Поиск приближенного значения в диапазоне 67
Поиск начала и окончания диапазона, содержащего данные 68
Поиск начала данных 68
Автоматическая замена значений 68
Быстрое заполнение диапазона (массив) 69
Заполнение через интервал(массив) 69
Заполнение указанного диапазона(массив) 70
Заполнение диапазона(массив) 70
Расчет суммы первых значений диапазона 71
Размещение в ячейке электронных часов 72
«Будильник» 72
Оформление верхней и нижней границ диапазона 72
Адрес активной ячейки 73
Координаты активной ячейки 73
Формула активной ячейки 73
Получение из ячейки формулы 73
Тип данных ячейки 73
Вывод адреса конца диапазона 74
Получение информации о выделенном диапазоне 74
Взять слово с 13 символа в ячейке 76
Создание изменяемого списка (таблица) 77
Проверка на пустое значение 77
Пересечение ячеек 77
Умножение выделенного диапазона на 2 77
Одновременное умножение всех данных диапазона 78
Деление диапазона на 100 78
Возведение каждой ячейки диапазона в квадрат 78
Суммирование данных только видимых ячеек 78
Сумма ячеек с числовыми значениями 79
При суммировании — курсор внутри диапазона 79
Начисление процентов в зависимости от суммы_1 80
Начисление процентов в зависимости от суммы_2 80
Начисление процентов в зависимости от суммы_3 81
Сводный пример расчета комиссионного вознаграждения 81
Движение по диапазону 83
Сдвиг от выделенной ячейки 83
Перебор ячеек вниз по колонне 83
Создание заливки диапазона 84
Подбор параметра ячейки 84
Разбиение диапазона 84
Объединение данных диапазона 85
Объединение данных диапазона_2 85
Узнать максимальную колонку или строку. 86
Ограничение возможных значений диапазона 86
Тестирование скорости чтения и записи диапазонов 88
Открыть MsgBox при выборе ячейки 89
Скрытие строки 89
Скрытие нескольких строк 89
Скрытие столбца 89
Скрытие нескольких столбцов 89
Скрытие строки по имени ячейки 89
Скрытие нескольких строк по адресам ячеек 89
Скрытие столбца по имени ячейки 89
Скрытие нескольких столбцов по адресам ячеек 90
Мигание ячейки 90
Глава 4. Работа с примечаниями 91
Вывод на экран всех примечаний рабочего листа 91
Функция извлечения комментария 91
Список примечаний защищенных листов 91
Перечень примечаний в отдельном списке_1 92
Перечень примечаний в отдельном списке_2 93
Перечень примечаний в отдельном списке_3 93
Подсчет количества примечаний_1 94
Подсчет количества примечаний_2 95
Подсчет примечаний_3 95
Выделение ячеек с примечаниями 95
Отображение всех примечаний 95
Изменение цвета примечаний 96
Добавление примечаний 96
Добавление примечаний в диапазон по условию 96
Перенос комментария в ячейку и обратно 96
Перенос значений из ячейки в комментарий_1 97
Перенос значений из ячейки в комментарий_2 98
Глава 5 . Пользовательские вкладки на ленте 99
Дополнение панели инструментов 99
Добавление кнопки на панель инструментов 99
Панель с одной кнопкой 99
Панель с двумя кнопками 99
Создание панели справа 100
Вызов предварительного просмотра 100
Создание пользовательского меню (вариант 1) 100
Создание пользовательского меню (вариант 2) 101
Создание пользовательского меню (вариант 3) 102
Создание пользовательского меню (вариант 4) 102
Создание пользовательского меню (вариант 5) 102
Создание пользовательского меню (вариант 6) 106
Создание списка пунктов главного меню Excel 108
Создание списка пунктов контекстных меню 108
Отображение панели инструментов при определенном условии 109
Скрытие и отображение панелей инструментов 111
Создать подсказку к моим кнопкам 112
Создание меню на основе данных рабочего листа 112
Создание контекстного меню 115
Блокировка контекстного меню 117
Добавление команды в меню Сервис 118
Добавление команды в меню Вид 119
Создание панели со списком 120
Мультфильм с помощником в главной роли 122
Дополнение помощника текстом, заголовком, кнопкой и значком 123
Новые параметры помощника 124
Использование помощника для выбора цвета заливки 125
Глава 6. ДИАЛОГОВЫЕ ОКНА 127
Функция INPUTBOX (через ввод значения) 127
Вызов предварительного просмотра 127
Настройка ввода данных в диалоговом окне 127
Открытие диалогового окна (“Открыть файл”)_1 128
Открытие диалогового окна (“Открыть файл”)_2 128
Открытие диалогового окна (“Печать”) 128
Другие диалоговые окна 128
Вызов броузера из Экселя 129
Диалоговое окно ввода данных 129
Диалоговое окно настройки шрифта 129
Значения по умолчанию 129
Глава 7. Форматирование текста. Таблицы. ГРАНИЦЫ И ЗАЛИВКА. 130
Вывод списка доступных шрифтов 130
Выбор из текста всех чисел 130
Прописная буква только в начале текста 131
Подсчет количества повторов искомого текста 131
Выделение из текста произвольного элемента 132
Отображение текста «задом наперед» 133
Англоязычный текст — заглавными буквами 133
Запуск таблицы символов из Excel 134
глава информация о пользователе, компьютере, принтере и т.д. 136
Получить имя пользователя 136
Вывод разрешения монитора 137
Получение информации об используемом принтере 137
Просмотр информации о дисках компьютера 138
Глава 8. ЮЗЕРФОРМЫ 140
Глава 9. ДИАГРАММЫ 142
Построение диаграммы с помощью макроса 142
Сохранение диаграммы в отдельном файле 143
Построение и удаление диаграммы нажатием одной кнопки 144
Вывод списка диаграмм в отдельном окне 145
Применение случайной цветовой палитры 146
Эффект прозрачности диаграммы 146
Построение диаграммы на основе данных нескольких рабочих листов 148
Создание подписей к данным диаграммы 150
Глава 10. РАЗНЫЕ ПРОГРАММЫ. 151
Программа для составления кроссвордов 151
Создать обложку DVD 155
Игра «Минное поле» 156
Игра «Угадай животное» 158
Расчет на основании ячеек определенного цвета 161
Глава 11. ДРУГИЕ ФУНКЦИИ И МАКРОСЫ 175
Вызов функциональных клавиш 175
Расчет среднего арифметического значения 175
Перевод чисел в «деньги» 175
Поиск ближайшего понедельника 176
Подсчет количества полных лет 177
Расчет средневзвешенного значения 177
Преобразование номера месяца в его название 178
Использование относительных ссылок 178
Преобразование таблицы Excel в HTML-формат 179
Генератор случайных чисел 181
Случайные числа — на основании диапазона 182
Применение функции без ввода ее в ячейку 183
Подсчет именованных объектов 183
Включение автофильтра с помощью макроса 183
Создание бегущей строки 183
Создание бегущей картинки 184
Вращающиеся автофигуры 185
Вызов таблицы цветов 187
Создание калькулятора 188
Склонение фамилии, имени и отчества 188
Глава 12. ДАТА И ВРЕМЯ 194
Вывод даты и времени_1 194
Вывод даты и времени_2 194
Получение системной даты 195
Извлечение даты и часов 195
Функция ДатаПолная 195.

Читайте также:  Импульсные блоки питания схемы электрические принципиальные

Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Готовые макросы в VBA Excel, Миронов – fileskachat.com, быстрое и бесплатное скачивание.

Скачать doc
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России. Купить эту книгу

Комментировать
695 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector