Макросы не работают в Excel

Обновлено: 02.07.2024

Узнайте, как повысить производительность работы с электронными таблицами с помощью макросов в Excel на Mac.

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

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

Давайте посмотрим, как это сейчас работает в macOS.

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

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

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

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

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

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

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

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

Пример 1. Общий объем продаж за день и среднее значение за час

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

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

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

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

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

Затем нажмите «Остановить запись». Теперь ваш макрос можно использовать на каждом новом листе, который вы добавляете в книгу. Получив еще один лист данных, вернитесь в раздел «Разработчик» и нажмите «Макросы». Ваш макрос должен быть выделен, нажмите «Выполнить», чтобы добавить свои суммы и средние значения.

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

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

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

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

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

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

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

Пример 2. Общий объем продаж за день и среднее значение за час с кодом

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Шаг 3. Назовите свои резюме

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

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

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

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

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

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

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

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

Есть несколько причин, по которым это может произойти, и мы рассмотрим их все в этой статье.

Возможно, книга была повторно сохранена как файл xlsx

Начиная с Excel 2007, файлы Excel разделены на два типа. Книги с поддержкой макросов имеют расширение .xlsm, а обычные книги имеют расширение .xlsx. Только рабочая книга с поддержкой макросов может содержать макросы.

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

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

Макросы могли быть отключены в Excel

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


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

Это сообщение появляется не всегда. Пользователи, особо заботящиеся о безопасности, могут полностью отключить макросы с помощью параметров Excel. Чтобы получить доступ к этим параметрам, нажмите:

Файл > Параметры > Центр управления безопасностью > Настройки центра управления безопасностью > Параметры макроса


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

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

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

Макросы могут находиться в вашей личной книге макросов

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

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

Запись макросов и использование личной книги макросов подробно описаны в наших книгах для экспертов и электронных книгах.

Защита книги может препятствовать работе макросов

Можно «защитить» свои книги разными способами, в том числе запретить выбор или редактирование определенных ячеек.

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

Защита и безопасность подробно описаны в наших книгах и электронных книгах для экспертов.

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

Макробезопасность в Excel

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

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

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

Как включить макросы для отдельных книг

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

Включить макросы через панель предупреждений безопасности

Включение макросов через панель предупреждений безопасности

С настройками макросов по умолчанию, когда вы впервые открываете книгу, содержащую макросы, в верхней части листа прямо под лентой появляется желтая полоса предупреждения о безопасности:

Уведомление о безопасности Microsoft Excel

Если редактор Visual Basic открыт во время открытия файла с макросами, отобразится уведомление о безопасности Microsoft Excel:

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

Предупреждение о том, что макросы инвалид.

Если источник файла неизвестен и вы не хотите включать макросы, вы можете нажать кнопку "X", чтобы закрыть предупреждение системы безопасности. Предупреждение исчезнет, ​​но макросы останутся отключенными. Любая попытка запустить макрос приведет к следующему сообщению.

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

Включить макросы в представлении Backstage

Еще один способ включить макросы для определенной книги — через представление Office Backstage. Вот как:

  1. Перейдите на вкладку Файл и нажмите "Информация" в меню слева.
  2. В области Предупреждение системы безопасности нажмите Включить содержимое >Включить все содержимое.

Включить макросы через Backstage вид

Как и в предыдущем случае, ваша книга станет доверенным документом.

Что следует знать о надежных документах в Excel

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

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

  1. Нажмите Файл Параметры.
  2. Слева выберите Центр управления безопасностью, а затем нажмите Настройки центра управления безопасностью.
  3. В диалоговом окне Центр управления безопасностью выберите слева Надежные документы.
  4. Нажмите "Очистить", а затем нажмите ОК.

Очистка всех доверенных документов

Это сделает все ранее доверенные файлы ненадежными. Когда вы откроете такой файл, появится предупреждение системы безопасности.

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

Как включить макросы для одного сеанса

В некоторых случаях имеет смысл включать макросы только один раз. Например, если вы получили файл Excel с кодом VBA, который хотите изучить, но не хотите делать этот файл доверенным документом.

Следующие инструкции помогут вам включить макросы на время, пока файл открыт:

Это включает макросы на один раз. Когда вы закроете книгу, а затем снова откроете ее, предупреждение появится снова.

Как включить макросы во всех книгах через Центр управления безопасностью

Microsoft Excel определяет, разрешать или запрещать запуск кодов VBA, на основе параметра макроса, выбранного в Центре управления безопасностью, где вы настраиваете все параметры безопасности для Excel.

Чтобы включить макросы во всех книгах Excel по умолчанию, вам нужно сделать следующее:

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

Объяснение настроек макроса Excel

Ниже мы кратко объясним все настройки макросов в Центре управления безопасностью, чтобы помочь вам принять взвешенное решение:

  • Отключить все макросы без уведомления — все макросы отключены; предупреждение не появится. Вы не сможете запускать никакие макросы, кроме тех, которые хранятся в надежных местах.
  • Отключить все макросы с уведомлением (по умолчанию). Макросы отключены, но вы можете включить их в каждом конкретном случае.
  • Отключить все макросы, кроме макросов с цифровой подписью. Неподписанные макросы отключаются вместе с уведомлениями. Макросы, подписанные в цифровой форме специальным сертификатом доверенного издателя, разрешены для запуска. Если вы не доверяете издателю, Excel предложит вам доверять издателю и включить макрос.
  • Включить все макросы (не рекомендуется). Разрешен запуск всех макросов, включая потенциально вредоносные коды.
  • Доверять доступ к объектной модели проекта VBA — этот параметр управляет программным доступом к объектной модели Visual Basic для приложений. По умолчанию он отключен, чтобы неавторизованные программы не могли изменять ваши макросы или создавать самовоспроизводящиеся вредоносные коды.

При изменении настроек центра управления безопасностью помните, что они применяются только к Excel, а не ко всем программам Office.

Постоянно активировать макросы в надежном расположении

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

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

Чтобы просмотреть текущие надежные расположения или добавить новое, выполните следующие действия:

Добавление нового надежного местоположения

  1. Нажмите Файл Параметры.
  2. На левой панели выберите Центр управления безопасностью, а затем нажмите Настройки центра управления безопасностью….
  3. В диалоговом окне Центр управления безопасностью выберите слева Надежные расположения. Вы увидите список надежных местоположений по умолчанию. Эти расположения важны для корректной работы надстроек Excel, макросов и шаблонов и не должны изменяться. Технически книгу можно сохранить в одном из мест Excel по умолчанию, но лучше создать собственное.
  4. Чтобы настроить надежное местоположение, нажмите Добавить новое местоположение… .
  5. В диалоговом окне Надежные расположения Microsoft Office выполните следующие действия:
    • Нажмите кнопку Обзор, чтобы перейти к папке, которую вы хотите сделать надежным расположением.
    • Если вы хотите, чтобы какая-либо вложенная папка в выбранной папке также была надежной, установите флажок Подпапки в этом расположении также являются надежными.
    • Введите краткое примечание в поле Описание (это может помочь вам управлять несколькими местоположениями) или оставьте его пустым.
    • Нажмите ОК.

Готово! Теперь вы можете разместить свою книгу с макросами в собственном надежном расположении и не беспокоиться о настройках безопасности Excel.

  • Пожалуйста, будьте очень осторожны при выборе надежного местоположения. Поскольку Excel автоматически активирует все макросы во всех книгах, которые хранятся в надежных местах, они становятся своего рода лазейками в вашей системе безопасности, уязвимыми для макровирусов и хакерских атак. Никогда не делайте никакую временную папку доверенным источником. Кроме того, будьте осторожны с папкой Документы, лучше создайте вложенную папку и назначьте ее надежным расположением.
  • Если вы по ошибке добавили определенную папку в список надежных местоположений, выберите ее и нажмите кнопку Удалить.

Как программно включить макросы с помощью VBA

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

Однако, когда Microsoft закрывает дверь, пользователь открывает окно :) В качестве обходного пути кто-то предложил способ заставить пользователя включать макросы с помощью своего рода «заставки» или «инструкции». Общая идея такова:

Вы пишете код, который делает все рабочие листы, кроме одного, очень скрытыми (xlSheetVeryHidden). Видимый лист (экран-заставка) говорит что-то вроде "Включите макросы и повторно откройте файл" или предоставляет более подробные инструкции.

Если макросы отключены, пользователь может видеть только лист "Заставка"; все остальные листы очень скрыты.

Если макросы включены, код показывает все листы, а затем снова делает их полностью скрытыми при закрытии книги.

Примеры кода можно найти здесь и здесь.

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

Как уже упоминалось, по умолчанию Excel отключает макросы с уведомлением и позволяет пользователям включать их вручную, если они этого хотят. Если вы хотите отключить все макросы автоматически, без уведомления, выберите соответствующий вариант (первый) в Центре управления безопасностью.

Вот как вы можете включать и отключать макросы в Excel. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!

Вас также может заинтересовать

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

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

Просто хотел сказать. Вы публикуете отличный контент. Счастливого Рождества 🎄

Алоха с Гавайев🌈

когда я пытаюсь открыть конкретный файл Excel, который использую для согласования, я получаю всплывающее окно: МАРКРОСЫ В ЭТОМ ДОКУМЕНТЕ БЫЛИ ОТКЛЮЧЕНЫ ВАШИМ АДМИНИСТРАТОРОМ ПРЕДПРИЯТИЯ. как его включить

Согласно документам Microsoft, эта проблема может возникнуть, если книга находится в ненадежном расположении. Рекомендуемое решение — сохранить книгу в надежном расположении.

в моем файле excel нет "option" - так как мне добраться до центра управления безопасностью?

Какую версию Excel вы используете? В Excel 2010–2019, а также в Excel 365 при нажатии на вкладку "Файл" открывается представление Backstage, а кнопка "Параметры" находится в самом низу левой панели.

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

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

кнапперт

Популярные темы в Microsoft Office

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

wmic qfe, где "идентификатор исправления типа "%3004394%"" получить идентификатор исправления

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

wusa /uninstall /kb:3004394 /quiet /norestart

18 ответов

Doughnut

Этот человек является проверенным специалистом

Пончик

Кто-нибудь, имеющий доступ к файлу, редактировал макросы?

МКармил

Этот человек является проверенным специалистом

Кармил

Ну, может быть пара вещей не так.

Что такое сообщение об ошибке?

Если это ошибка отладки, то да, ваш код испорчен.

Если это ошибка даже при запуске макроса, возможно, ваши настройки безопасности изменились (также это происходит на одном или на всех компьютерах?) Попробуйте изменить настройки в Excel, чтобы разрешить макросы в меню «Файл» — «Параметры» — «Центр управления безопасностью» — Настройки центра управления безопасностью - Маркос. Также убедитесь, что он сохранен как .xlsm

кнапперт

Точно не знаю, но сомнительно. Их единственный человек, который всегда им пользуется, и она никогда ничего не портит, потому что боится все испортить, ха-ха. Есть ли способ проверить правильность макросов?

агобо

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

Затем вы можете защитить проект VBA паролем, чтобы никто, кто не знает этот пароль, не смог увидеть код или изменить его

Наконец, никогда не исключайте ошибки

кнапперт

Это не сообщение об ошибке. Каждый раз, когда вы открываете файл, он спрашивает, хотите ли вы включить макросы. Нажмите «Включить», и все готово. (так это всегда работало.) Теперь вы выполняете тот же процесс, но после того, как вы включите их, вы переходите на страницу и нажимаете на разные ссылки, и ничего не происходит. как будто страница просто мертва.

кнапперт

Файл защищен паролем, и есть резервная копия на внешнем диске.

кнапперт


< /p>

Это страница

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

wmic qfe, где "идентификатор исправления типа "%3004394%"" получить идентификатор исправления

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

wusa /uninstall /kb:3004394 /quiet /norestart

Думаю, я сослался не на ту базу знаний, извините за это. Вместо 3004394 проверьте 2553154.

wmic qfe, где "исправление типа "%2553154%"" получить исправление

wusa /uninstall /kb:2553154 /quiet /norestart

МКармил

Этот человек является проверенным специалистом

Кармил

Я полагаю, что это все еще может быть проблема. Если код отсутствует или ссылки не ведут в нужное место, они просто останутся там без предупреждения.

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

Чак Рикс

Не поделитесь файлом, и, может быть, кто-нибудь из пользователей сможет его посмотреть?

кнапперт

Я хочу поделиться файлом, но в нем есть вся финансовая информация для бизнеса. я попытался удалить обновления, которыми поделился веб-сайт skymage. но результаты те же.. должна ли каждая кнопка иметь свой макрос? потому что список макросов состоит только из одного макроса.

кнапперт

только что попробовал файл на моем ноутбуке с Office 2013, все работает нормально. почему в Office 2007 по-другому?

агобо

Когда мы начали использовать Office 2010 несколько лет назад, ссылки на некоторые объекты в VBA изменились, хотя теоретически код должен быть совместимым. Особенно доступ к БД через ссылки ODBC. Мне пришлось изменить наш код, чтобы учесть версию, которую использовал пользователь.

кнапперт

В этом есть смысл, однако в 2007 году до декабря это всегда работало

кнапперт

Skymage, должно быть, было обновлением. Я сделал восстановление системы до 10-го числа, а эти обновления запустились 16-го. Теперь работает нормально. Огромное спасибо!

отлично :D рад, что у вас получилось!

кстати, если в этом месяце у вас произошел сбой Internet Explorer, причиной этого является первое обновление, о котором я упоминал (kb:3008923), возможно, вы захотите удалить и его. Кажется, влияет на IE9 и IE11. С Днем подарков!

кнапперт

Ха-ха, спасибо!

Эта тема заблокирована администратором и больше не открыта для комментариев.

Чтобы продолжить это обсуждение, задайте новый вопрос.

Как вы измеряете успех?

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

Настойчивая тактика MSP

За последние несколько месяцев моя компания связалась с некоторыми ИТ-поставщиками в этом районе, чтобы узнать, подходят ли они нам для какой-либо консультационной работы и разовых проектов. долгосрочное обязательство или "услуга pl.

Стремление к карьерному росту

Здравствуйте! Кажется, это правильное место, чтобы задать мой вопрос. Я ищу эффективный способ получить должность, связанную с сетями (администрирование, проектирование, проектирование и т. д.). Я работаю в сфере ИТ около пяти лет. Я иду изначально фр.

Связывание домена Windows и домена веб-сайта?

Что может вызвать мерцание экрана?

У меня есть настольный компьютер Dell OptiPlex, который вызывает проблему мерцания экрана. Пожалуйста, проверьте это изображение ниже: Я сделал следующее, но все же мне повезло: Заменил монитор и кабели. Обновлен BIOS. Переустановил драйвер дисплея. Заменил оперативную память. р>

Читайте также: