Макрос примеры excel: Макросы для Excel с исходными кодами и описанием функций

Примеры макросов excel — intmag24.ru

В статье рассмотрены примеры основных операторов и функций макросов excel, которые можно использовать в работе как готовые блоки.

Основа макроса:
Sub programm() ‘начало макроса
Макрос — команды, которые будут выполнены
End Sub ‘конец макроса

Элементы макроса

  • Workbooks — книги excel. Обозначение: Workbooks(«Книга1»). Если в макросе не указана книга, значит макрос будет выполнен в активной книге.
  • Worksheets — листы excel. Обозначение: Worksheets(«Лист1»). Если в макросе не указан лист, значит макрос будет выполнен на активном листе.
  • Rows — строки. Обозначение: Rows(1), Rows(«2:4»). EntireRow – целая строка.
  • Columns — столбцы. Обозначение: Columns(1), Columns(«2:4»). EntireColumn – целый столбец
  • Cells — ячейки. Обозначение: Cells(1, 2) — ячейка, где 1 — номер строки, 2 — номер столбца
  • Range — смежные ячейки на рабочем листе. — возведение в степень
    * — умножение
    / — деление
    + — сложение
    — — вычитание
    Abs — абсолютное значение числа. Пример: Abs(-20) ⇒ 20; Abs(20) ⇒ 20.
    Sqr -квадратный корень. Пример: Sqr(4) ⇒ 2

    Работа с текстом

    Len() — число символов в строке. Пример: Len(«абвгдеж») ⇒ 7
    Left(), Right(), Mid()— возможность взять указанное количество символов из существующей строковой переменной слева (с начала), справа (с конца) или из середины соответственно.
    Примеры:
    Left(«абвгдежзиклмн», 4)  возвращает строку «абвг»;
    Right(«абвгдежзиклмн», 4) возвращает строку «клмн»;
    Mid(«абвгдежзиклмн», 4, 5) возвращает строку «гдежз».

    Форматирование ячеек с помощью макросов

    Cells(1, 1).Font.Name = «Courier New» ‘формат шрифта
    Cells(1, 1).Font.Size = 17 ‘размер шрифта
    Cells(1, 1).Font.Color = 12632256 ‘цвет шрифта
    Cells(1, 1).Font.Bold = True ‘жирный
    Cells(1, 1). Font.Italic = True   ‘ курсив
    Range(.Cells(1, 1), Cells(2, 2)).Merge ‘объединить ячейки
    Range(.Cells(6, 1), Cells(200, 30)).HorizontalAlignment = xlCenter ‘выравнивание по центру по горизонтали
    Range(.Cells(6, 1), Cells(200, 30)).VerticalAlignment = xlCenter ‘выравнивание по центру по вертикали
    Cells(1, 1).Interior.Color = 10053375 ‘выделить ячейку цветом 
    Range(Cells(1, 2), Cells(3, 4)).Borders.LineStyle = True ‘границы ячеек
    Range(Cells(1, 2), Cells(3, 4)).Borders.Color = vbBlue ‘изменить цвет границы

    ОПЕРАТОР  условия «IF … THEN» —

    Он проверяет условие:
    ➜ если оно истинно (TRUE) — выполняется заданный набор действий (обязательное),
    ➜ если ложно (FALSE) – другой набор действия (необязательное).

    Пример: Запись примера в карточке
    If Cells(1, 2) > 10 Then ‘если значение ячейки больше 10
    Cells(1, 2).Interior.Color = 65535 ‘выделить ячейку желтым цветом 
    Else ‘если условие не выполняется
    Cells(1, 2). Interior.Color = 5296274 ‘выделить ячейку зеленым цветом 
    End If

    ЦИКЛ «FOR … NEXT»

    Он предназначен для запуска цикла, который повторяется определенное (заданное) количество раз для каждой переменной.

    ‘Пример: Запись примеров по математике в строчках с 8 по 16 через одну
    For i = 8 To 16 Step 2 ‘i — задается номер строки с 8 по 16, шаг = 2.  Цикл запускается 5 раз (для 8,10,12,14,16 строчек)
    a1 = Int(Rnd * n) ‘формируется первое слагаемое от 0 до (n-1)
    a2 = Int(Rnd * n) + 1 ‘формируется второе слагаемое от 1 до n
    Cells(i, 1) = a1 & » + » & a2 & » = » ‘запись примера в i-й строке и 1-м столбце
    Next i

    Комментарии

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

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

    Перейти к урокам по изучению макросов в Excel на примере формирования примеров по математике случайным образом. Курс состоит из 10 уроков + шаблоны готовых макросов.

    Создание макросов и пользовательских функций на VBA

    КУРС

    EXCEL ACADEMY

    Научитесь использовать все прикладные инструменты из функционала MS Excel.

    Практически все офисные работники встречаются с задачами, которые связаны с обработкой больших массивов данных или рутинными вещами, когда руками приходится копировать и вставлять большой поток информации. В такие минуты кажется, что тратишь часы впустую, и «машина» наверняка справилась бы с рутиной за секунду. Делаем решительный шаг в сторону автоматизации рутины.

    Кстати, мы ранее писали о том, сколько времени можно сэкономить, приложив усилия и записав макрос. 

    Как создать макрос в VBA/Excel? 

    Самый простой и быстрый способ — через запись макроса. Заходим в «Разработчик» и открываем окно для формирования запросов в VBA. 


    Не нашли «Разработчик»?

    Файл → Параметры → Настроить ленту

    На панели «Основные вкладки» отметьте галочкой «Разработчик» и нажмите «ОК».


    Приступим к записи макроса. Для удобства можно дать макросу название.

    Вводим команду. В нашем случае в ячейке С6 введем формулу

    =C2+C3+C4+C5

    Останавливаем запись макроса и проверяем его работу.

    Меняем номера в ячейках C2 – C5. Переходим в «Макросы» и нажимаем «Выполнить».

    Результат посчитан верно.

    Что записал макрос? Как это выглядит в коде?

    Переходим в «Разрабочик» → «Макросы» → выбираем наш макрос → нажимаем «Изменить»

    Видим код.

    Перейти в это поле можно проще: достаточно воспользоваться комбинацией Alt + F11, которая переводит нас в редактор кода VBA.

    В это поле вы можете вставлять совершенно любой макрос. Если вы не специалист в VBA — достаточно будет подсмотреть готовые макросы на просторах интернета и скопировать их в свой документ.

    Примеры

    1. С помощью макросов можно копировать данные из одного файла в другой.

    Sub CopyFiletoAnotherWorkbook()
        ‘Copy the data
            Sheets(“Example 1”). Range(“A1:C5”).Copy
        ‘Create a new workbook
            Workbooks.Add
        ‘Paste the data
            ActiveSheet.Paste
        ‘Turn off application alerts
            Application.DisplayAlerts = False
        ‘Save the newly file. Change the name of the directory.
            ActiveWorkbook.SaveAs Filename:=“C:\EXAMPLE 2.xlsx”
        ‘Turn application alerts back on
            Application.DisplayAlerts = True
    End Sub

    2. С помощью макросов можно удалять дубли. Ранее мы писали о том, как это сделать без помощи VBA.

    Sub DelDups_OneList()
        Dim iListCount As Integer
        Dim iCtr As Integer

        ‘ Turn off screen updating to speed up macro.
        Application.ScreenUpdating = False

        ‘ Get count of records to search through.
        iListCount = Sheets(“Sheet1”).Range(“A1:A100”).Rows.Count
        Sheets(“Sheet1”).Range(“A1”).Select
        ‘ Loop until end of records.
        Do Until ActiveCell = “”
           ‘ Loop through records.
           For iCtr = 1 To iListCount
              ‘ Don’t compare against yourself.
              ‘ To specify a different column, change 1 to the column number.

              If ActiveCell.Row <> Sheets(“Sheet1”).Cells(iCtr, 1).Row Then
                 ‘ Do comparison of next record.
                 If ActiveCell.Value = Sheets(“Sheet1”).Cells(iCtr, 1).Value Then
                    ‘ If match is true then delete row.
                    Sheets(“Sheet1”).Cells(iCtr, 1).Delete xlShiftUp
                       ‘ Increment counter to account for deleted row.
                       iCtr = iCtr + 1
                 End If
              End If
           Next
     iCtr
           ‘ Go to next record.
           ActiveCell.Offset(1, 0).Select
        Loop
        Application.ScreenUpdating = True
        MsgBox “Done!”
        End Sub

    Макрос находит повторяющиеся элементы в диапазоне А1:A100 и удаляет их. Важная особенность макроса — необходимость отсутствия в массиве пустых ячеек. Если список содержит пустые ячейки, необходимо отсортировать данные в возрастающем порядке, чтобы все пустые ячейки отображались в конце списка. 

    3. С помощью макросов можно сравнивать два списка и удалять повторяющуюся информацию.

    Следующий пример макроса сравнивает один (ключевой) список с другим и удаляет повторяющиеся элементы во втором списке, которые находятся в главном списке. Первый список находится на листе Sheet1 в диапазоне А1:A10. Второй список располагается на Лист2 в диапазоне А1:A100. Для того, чтобы воспользоваться макросом выберите любой лист и затем запустите макрос. 

    Sub DelDups_TwoLists()
        Dim iListCount As Integer
        Dim iCtr As Integer

        ‘ Turn off screen updating to speed up macro.
        Application.ScreenUpdating = False

        ‘ Get count of records to search through (list that will be deleted).
        iListCount = Sheets(“Sheet2”).Range(“A1:A100”).Rows.Count

        ‘ Loop through the “master” list.
        For Each x In Sheets(“Sheet1”).Range(“A1:A10”)
           ‘ Loop through all records in the second list.
           For iCtr = 1 To iListCount
              ‘ Do comparison of next record.
              ‘ To specify a different column, change 1 to the column number.
              If x.Value = Sheets(“Sheet2”).Cells(iCtr, 1).Value Then
                 ‘ If match is true then delete row.
                 Sheets(“Sheet2”).Cells(iCtr, 1).Delete xlShiftUp
                 ‘ Increment counter to account for deleted row.
                 iCtr = iCtr + 1
              End If
           Next iCtr
        Next
        Application.ScreenUpdating = True
        MsgBox “Done!”
        End Sub

    Возможности VBA достаточно обширны. Мы привели лишь несколько примеров, однако вы можете изучить тему более детально самостоятельно, записавшись на курс «Excel Academy», просматривая обучающие видео и наши статьи. 

    Об одном хитром макросе для гигантской таблицы рассказывал Александр Вальцев, CEO SF Education, в видео. 

    Автор: Фомкина Ирина, эксперт SF Education

    101 Примеры макросов Excel | MyExcelOnline

    ЗАГРУЗИТЕ НАШУ БЕСПЛАТНУЮ ЭЛЕКТРОННУЮ КНИГУ
    101 ЛУЧШИХ СОВЕТОВ И ПОДСКАЗОК!

    Макросы — одна из самых мощных функций Excel, и изучение того, как и когда их использовать, сделает вас суперзвездой Excel!

    В этом посте есть 101 готовый к использованию макрос, которые помогут вам повысить эффективность работы с Excel!

    Почему VBA?

    Вы повторяете различные действия Excel, такие как копирование и вставка данных, форматирование, скрытие и отображение рабочих листов и т. д.?

    Знаете ли вы, что вы можете автоматизировать свои задачи в Excel с помощью нескольких щелчков мыши?

    Если вы продолжаете повторять одно и то же снова и снова, создание макроса Excel VBA идеально для вас! Это экономит ваше время, поэтому вы можете делать то, что вам нравится, например, идти домой пораньше!

    VBA означает Visual Basic для приложений . Visual Basic (VB) — это язык программирования от Microsoft, используемый для создания собственных пользовательских приложений.

    VBA, с другой стороны, представляет собой уменьшенную версию VB, которая включена в каждое приложение Microsoft Office, Excel является одним из них . С VBA вам не нужно платить кому-то за пользовательскую программу за дополнительные функции, которые вам нужны в Excel. Вы можете создать свой собственный, объединив VBA и Excel!

    Обычно вы тратите 30 минут в день на подготовку и форматирование отчета. Вы можете использовать макросы VBA, чтобы сократить эту работу до одного нажатия кнопки! Экономия времени только увеличится, и ваш начальник будет впечатлен вашей эффективностью.

    Не устраивает охват функций Excel? Вы можете создать свою собственную определяемую пользователем функцию Excel с помощью VBA. Затем вы можете многократно использовать свою пользовательскую функцию в электронной таблице.

    Расширенные макросы
    Базовые макросы
    Макросы графиков
    Макросы формул 9 0003 Выделение макросов

    Макросы сводной таблицы
    Печать макросов
    Советы и Tricks
    Макросы рабочих книг
    Макросы рабочих листов

    Нажмите на любую ссылку макроса Excel ниже, и вы перейдете к бесплатному учебному пособию и загружаемой рабочей книге Excel, которую вы можете практика!

    Хотите изучить макросы Excel и VBA с нуля?

    *** Посмотрите наше видео и пошаговое руководство ниже с бесплатной загружаемой рабочей книгой Excel для практики ***

    ПОЛЕЗНЫЕ РЕСУРСЫ:

    ПРИСОЕДИНЯЙТЕСЬ К НАШИМ БЕСПЛАТНЫМ КУРСАМ EXCEL НИЖЕ
    Нажмите здесь, чтобы получить доступ к этим БЕСПЛАТНЫМ курсам Excel!

    ЗАГРУЗИТЕ НАШУ БЕСПЛАТНУЮ ЭЛЕКТРОННУЮ КНИГУ
    101 ЛУЧШИХ СОВЕТОВ И ПОДСКАЗОК!

    Об авторе

    Брайан является автором бестселлеров серии 101 Excel в мягкой обложке.

    Примеры использования макросов Excel (часть 1)

    По советам и рекомендациям по Excel от Pryor.com

    Категории: Excel®, Макросы
    Теги: Макросы Excel, Примеры макросов

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

    Как предприятия используют макросы?

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

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

    Конкретные примеры макросов Excel

    Рассмотрим отдел продаж крупной корпорации. Чтобы составить отчет, необходимо обработать тысячи строк данных. Одни и те же шаги, необходимые для разработки отчетности за первый квартал, будут одинаковыми для каждого квартала. Требуются разные типы отчетов за каждый квартал. Можно разработать макрос для управления всем процессом. Эти отчеты могут автоматизировать манипулирование данными, создавать отчеты и отображать результаты в виде диаграмм. Вместо того, чтобы выполнять эти сложные шаги для каждого квартала, человек может выполнить это с помощью простого, хорошо продуманного макроса.

    Преимущества макроса

    Использование макроса дает множество преимуществ.

    1. Они снижают вероятность человеческой ошибки. Это полезно для процессов, которые требуют много шагов для достижения одной цели.
    2. Они оптимизируют функции отчетности высокого уровня. Эти макросы не только снижают вероятность человеческой ошибки, но и повышают эффективность и помогают улучшить бизнес-процессы.
    3. Использование макросов Excel повышает производительность, особенно при выполнении избыточных задач.

    Экономьте деньги, время и/или ресурсы и делайте больше с помощью макросов Excel.

    Убежден? Ознакомьтесь с постом на следующей неделе о Как записать макрос Excel . Удачного макроинга!

    PRYOR+ 7 ДНЕЙ БЕСПЛАТНОГО ОБУЧЕНИЯ

    Курсы по обслуживанию клиентов, Excel, управлению персоналом, лидерству,
    ОСАГО и многое другое.