Используйте макросы в Excel на Mac, чтобы сэкономить время и сделать больше

Excel на Mac не всегда был таким же мощным, как в Windows. Макросы действительно не будут работать, если они не были созданы исключительно для Mac.

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

Итак, давайте посмотрим, как это работает в MacOS.

Включение макросов в Excel на Mac

Работа с макросами в Excel на вашем Mac может быть отключена по умолчанию. Этот параметр объясняется тем, что макросы могут быть потенциальным переносчиком

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

макросы в Excel на Mac для экономии времени

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

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

Запись макроса вручную в Excel на Mac

Хотя вы можете кодировать макросы

Это может быть не для всех. Если вы не готовы начать работу с VBA, Excel позволит вам записать шаги для вашего макроса на существующий лист. Нажмите на вкладку Разработчик, чтобы увидеть ваши варианты.

макросы в Excel на Mac для экономии времени

Вы ищете третий вариант на ленте, Запись макроса. Нажмите на это, и появится диалоговое окно, позволяющее вам назвать ваш макрос и установить сочетание клавиш. Вы можете настроить свой макрос на Текущая рабочая тетрадь, Новая рабочая книга, или в вашем Личная Макро Книга. Персональная книга макросов находится в вашем профиле пользователя и позволяет вам использовать ваши макросы между вашими файлами.

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

Пример 1: дневной объем продаж и среднечасовой

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

Нам нужно настроить первый лист. Использование этого первого бланка в качестве шаблона для ежедневного копирования на новую вкладку может сэкономить вам время. В первом столбце / строке поставить час / дату. Через верх добавить с понедельника по пятницу.

Затем в первом столбце приведите разбивку почасовых итогов от 8-5. Я использовал 24-часовое время, но вы можете использовать нотацию AM / PM, если хотите. Ваш лист должен соответствовать скриншоту выше.

макросы в Excel на Mac для экономии времени

Добавьте новую вкладку и скопируйте в нее свой шаблон. Затем заполните данные о продажах за день. (Если у вас нет данных для заполнения этого листа, вы можете ввести = RANDBETWEEN (10,1000) во всех ячейках, чтобы создать фиктивные данные.) Затем нажмите на разработчик в ленте.

Затем нажмите на Запись макроса. В диалоговом окне введите имя как AverageandSum и оставить его в Эта книга. Вы можете установить клавишу быстрого доступа, если хотите. Вы можете ввести описание, если вам нужно больше подробностей о том, что делает макрос. Нажмите кнопку ОК, чтобы начать настройку макроса.

В нижней части почасовых списков введите Ежедневные итоги. В ячейку рядом с ним введите = СУММ (В2: В10). Затем скопируйте и вставьте это в остальные столбцы. Потом в шапку добавь Средний после последнего столбца. Затем в следующую ячейку вниз введите = Среднее (В2: F2),. Затем вставьте это в ячейки в оставшейся части столбца.

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

Этот пример может сэкономить вам пару шагов, но для более сложных действий, которые можно сложить. Если вы выполняете одинаковые операции с данными с одинаковым форматированием, используйте записанные макросы.

Макросы VBA в Excel на Mac

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

макросы в Excel на Mac для экономии времени

Добавьте еще один час и день на лист и запустите макрос. Вы увидите, что макрос перезаписывает ваши новые данные. Чтобы обойти это, мы используем код, чтобы сделать макрос более динамичным с помощью VBA, которая является уменьшенной версией Visual Basic.

, Реализация ориентирована на автоматизацию для Office.

макросы в Excel на Mac для экономии времени

Это не так легко подобрать, как Applescript

, но автоматизация Office полностью построена на Visual Basic. Поэтому, как только вы поработаете с ним здесь, вы сможете быстро развернуться и использовать его в других приложениях Office. (Это также может быть очень полезно, если вы застряли на ПК с Windows на работе.)

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

Office 2016 теперь поставляется с полным редактором Visual Basic. Это позволяет вам использовать Object Browser и средства отладки, которые раньше были ограничены версией Windows. Вы можете получить доступ к Обозревателю объектов, перейдя в Вид> Обозреватель объектов или просто нажмите Shift + Command + B. Затем вы можете просмотреть все доступные классы, методы и свойства. Это было очень полезно при создании кода в следующем разделе.

Пример 2: дневной объем продаж и среднечасовое значение с кодом

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

макросы в Excel на Mac для экономии времени

Вернитесь к пустому шаблону, который вы создали на последнем шаге. Нажмите на разработчик чтобы вернуться на вкладку. Когда вы перейдете на вкладку, нажмите на кнопка. Затем щелкните где-нибудь на листе шаблона, чтобы разместить кнопку. Появится меню макросов, назовите ваш макрос и нажмите новый.

Окно Visual Basic откроется; вы увидите его в списке как Module2 в браузере проекта. Панель кода будет иметь Sub AverageandSumButton () вверху и несколькими строчками вниз End Sub. Ваш код должен находиться между этими двумя, поскольку это начало и конец вашего макроса.

Шаг 1: Объявление переменных

Для начала вам нужно будет объявить все ваши переменные

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

Sub AverageandSumButton()
Dim RowPlaceHolder As Integer
Dim ColumnPlaceHolder As Integer
Dim StringHolder As String
Dim AllCells As Range
Dim TargetCells As Range
Dim AverageTarget As Range
Dim SumTarget As Range

Теперь, когда у вас есть все ваши переменные, вам нужно сразу использовать некоторые переменные диапазона. Диапазоны — это объекты, которые содержат разделы рабочего листа в качестве адресов. Переменная Все клетки будет установлен на все активные ячейки на листе, который включает в себя метки столбца и строки. Вы получите это, позвонив ActiveSheet объект, а затем UsedRange имущество.

Проблема в том, что вам не нужны метки, включенные в средние и суммарные данные. Вместо этого вы будете использовать подмножество диапазона AllCells. Это будет диапазон TargetCells. Вы вручную объявляете его диапазон. Его начальный адрес будет ячейкой во втором ряду во втором столбце диапазона.

Вы называете это, называя AllCells диапазон, используя его ячейки класс, чтобы получить эту конкретную ячейку, используя (2,2). Чтобы получить последнюю ячейку в диапазоне, вы все равно позвоните AllCells. На этот раз с помощью SpecialCells способ получить собственность xlCellTypeLastCell. Вы можете увидеть оба из них в блоке кода ниже.

  Set AllCells = ActiveSheet.UsedRange
Set TargetCells = Range(AllCells.Cells(2, 2), AllCells.SpecialCells(xlCellTypeLastCell))

Шаг 2: для каждого цикла

Следующие два раздела кода предназначены для каждого

петли. Эти циклы проходят через объект, чтобы воздействовать на каждое подмножество этого объекта. В этом случае вы делаете два из них, один для каждой строки и один для каждого столбца. Поскольку они почти одинаковы, здесь только один из них; но оба находятся в блоке кода. Детали практически идентичны.

Перед тем, как начать цикл для каждой строки, вам нужно установить целевой столбец, в котором цикл записывает среднее значение для каждой строки. Вы используете ColumnPlaceHolder переменная, чтобы установить эту цель. Вы устанавливаете это равным подсчитывать переменная ячейки класс AllCells. Добавьте один к нему, чтобы переместить его справа от ваших данных, добавив +1.

Далее вы собираетесь запустить цикл с помощью Для каждого. Затем вы хотите создать переменную для подмножества, в этом случае, subRow. После В, мы устанавливаем основной объект, который мы анализируем TargetCells. присоединять .Ряды в конце ограничить цикл только каждой строкой, а не каждой ячейкой в ​​диапазоне.

Внутри цикла вы используете метод ActiveSheet.Cells, чтобы установить конкретную цель на листе. Координаты задаются с помощью subRow.Row чтобы получить строку, в которой в данный момент находится цикл. Затем вы используете ColumnPlaceHolder для другой координаты.

Вы используете это для всех трех шагов. Первое вы добавляете .значение после скобок и установить равным WorksheetFunction.Average (subRow). Это записывает формулу среднего значения строки в целевую ячейку. Следующая строка, которую вы добавляете .Стиль и установите это равным «Валюта». Этот шаг соответствует остальной части вашего листа. На последней строке вы добавляете .Font.Bold и установите его равным Правда. (Обратите внимание, что вокруг этой кавычки нет, так как это логическое значение.) Эта строка выделяет шрифт, чтобы итоговая информация выделялась среди остальной части листа.

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

  ColumnPlaceHolder = AllCells.Columns.Count + 1
For Each subRow In TargetCells.Rows
ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Value = WorksheetFunction.Average(subRow)
ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Style = "Currency"
ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Font.Bold = True
Next subRow
RowPlaceHolder = AllCells.Rows.Count + 1
For Each subColumn In TargetCells.Columns
ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Value = WorksheetFunction.Sum(subColumn)
ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Style = "Currency"
ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Font.Bold = "True"
Next subColumn

Шаг 3: пометьте свои резюме

Далее пометьте новую строку и столбец, установите RowPlaceHolder а также ColumnPlaceHolder снова. Во-первых, используйте AllCells.Row чтобы получить первый ряд в диапазоне, а затем AllCells.Column + 1 чтобы получить последний столбец. Затем вы будете использовать тот же метод, что и цикл, чтобы установить значение «Средние продажи». Вы также будете использовать то же самое .Font.Bold свойство жирным шрифтом вашего нового ярлыка.

макросы в Excel на Mac для экономии времени

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

Оба шага находятся в блоке кода ниже. Это конец макроса, отмеченного End Sub. Теперь у вас должен быть весь макрос

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

  ColumnPlaceHolder = AllCells.Columns.Count + 1
RowPlaceHolder = AllCells.Row
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = "Average Sales"
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = True
ColumnPlaceHolder = AllCells.Column
RowPlaceHolder = AllCells.Rows.Count + 1
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = "Total Sales"
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = True
End Sub

Что дальше для макросов в Excel на Mac?

Записанные макросы отлично подходят для предсказуемого повторения. Даже если это так просто, как изменение размера всех ячеек и выделение жирным шрифтом, это может сэкономить ваше время.

Visual Basic открывает пользователям Mac Excel возможность углубиться в автоматизацию Office. Visual Basic традиционно был доступен только в Windows. Это позволяет вашим макросам динамически адаптироваться к данным, делая их более универсальными. Если у вас есть терпение, это может стать дверью к более сложному программированию.

Ссылка на основную публикацию
Adblock
detector