Excel 2007 открыть макросы в excel

vba excel      Статья предназначена для людей, которые хотят научиться писать программы на встроенном в Excel Visual Basic (VBA), но абсолютно не знают что это такое.

      Для начала — несколько слов о том, зачем это нужно. Средство VBA в MS Excel, представляет нам универсальный инструмент для быстрого и точного решения любых индивидуальных пользовательских задач в MS Excel. Можно конечно использовать и встроенные в MS Excel функции которых великое множество, однако они далеко не всегда решают поставленную задачу.
      Итак, создадим для примера простейшую программу. Будем использовать MS Excel 2007.  Откройте MS Excel, нажмите «сохранить как» и сохраните файл Вашей программы нажав «Книга ексель с поддержкой макросов». 

vba excel
      Далее необходимо включить вкладку «Разработчик». Для этого нажимаем «Параметры Excel» vba excel
       Ставим галочку на «Показывать вкладку «Разработчик» на ленте»

 программа excel
       После этого на ленте, в верху листа Excel, появится вкладка «Разработчик», которая содержит в себе инструменты для создания VBA макросов.
       Представим себе небольшую задачу — допустим мы имеем 2 числа, нам необходимо их сложить и по полученной сумме получить значение из нашей таблицы.
       Поставим в ячейки Листа1 следующие значения:

 программа excel
      на Листе2 заполним ячейки, создав таблицу из 2 столбцов

 программа excel
       Далее перейдем на Лист1, нажмем на вкладку «Разработчик», «Вставить», на ней выберем кнопку программа excel
и нарисуем кнопку на Листе1, после чего сразу появится окно «Назначить макрос объекту», в котором выбираем «Создать» программа excel
       После этого откроется редактор Visual Basic, и автоматически напишется наименование процедуры, которая будет выполняться при нажатии кнопки. Под названием процедуры впишем следующий код:

 vba excel
      Код выполнит следующие действия:

  • MsgBox («Это мой первый Макрос!») — сообщение
  • Переменной q присваивается значение ячейки на Листе1, с координатами 2 строка, 2 столбец
  • Переменной w присваивается значение ячейки на Листе1, с координатами 3 строка, 2 столбец
  • В ячейку на Листе1, с координатами 4 строка, 2 столбец, записывается сумма q+w

vba excel
      Далее получим значение столбца В из Листа2, которое расположено на той же строке где значение нашей суммы совпадает с значением столбца А.
      Введем следующий код:

 vba excel
и получим при нажатии на кнопку следующий результат:

 vba excel
из результата видно что макрос подобрал число из таблицы на Листе2 в соответствии с нашей суммой.
      Не буду вдаваться в подробности этого хитрого кода, так как цель данной статьи — начать писать макросы. Для VBA в интернете есть масса ресурсов, с примерами и разъяснениями, хотя для автоматизации расчетов вполне хватит объема информации в справке.

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

  • Статьи

Как включить макросы (разрешить использование макросов) в Excel 2007 — 2010:

1) Нажмите большую круглую кнопку Office (в левом верхнем углу), и щелкните кнопку «Параметры Excel»

Параметры Excel 2007

2) В открывшемся окне «Параметры Excel» в левом столбце выделите пункт «Центр управления безопасностью»,
после чего справа (в том же окне) — нажмите кнопку «Параметры центра управления безопасностью»:

Центр управления безопасностью в Excel 2007 и 2010

3) В открывшемся окне «Центр управления безопасностью» выделите пункт «Параметры макросов»,
и справа отметьте опцию «Включить все макросы»: 

Центр управления безопасностью в Excel 2007 и 2010 - параметры макросов

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

ВАЖНО: После того, как в настройках Excel вы включили макросы (установили низкий уровень безопасности),
необходимо полностью закрыть Excel, и запустить его заново, — только после этого настройки применятся.

  • 151054 просмотра

Microsoft Excel – это популярное для работы с таблицами приложение, используемое в офисах и дом…

Microsoft
Excel – это популярное для работы с
таблицами приложение, используемое в
офисах и домах 90% людей. Несмотря на то
что программе уже 34 года, новые возможности
продолжают добавляться в обновлениях.
Поэтому программа до сих пор популярна.
Чтобы облегчить себе работу, нужно
знать, как работают эти опции. Для начала расскажем о том, что такое
макросы, а потом – как
включить макросы в Excel
2010, 2007, 2003.

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

Что
такое макрос?    

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

как включить макросы в excel 2010

Описание
параметров макросов

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

  1. Отключить макросы без уведомления.
    Применяется
    для таблиц, автор которых неизвестен.
    Деактивирует сохраненные в ячейках
    макросы, не предупреждая об этом.
    Пользуйтесь им при опасности вирусов
    в таблице.
  2. Отключить макросы с уведомлением.
    Этот
    режим выбран стандартно. Предлагает
    выключать макросы, но перед этим
    запрашивает разрешения пользователя.
    С ним вы сможете решать, оставлять ли,
    или нет отдельно каждый макрос.
  3. Отключить макросы, кроме макросов с
    цифровой подписью.
    Похож
    на предыдущий, но автоматически разрешает
    использование макросов, подписанных
    цифровой подписью предприятия, доверие
    которому вы уже подтвердили.
  4. Включить макросы.
    Из
    названия понятно, что параметр разрешает
    использование макрокоманд, записанных
    в таблицу.
  5. Доверять доступ к объектной модели
    проектов VBA.

как в excel вставить макрос

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

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

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

    Существует
    три версии Экселя, где активация макросов
    отличается друг от друга. Сначала
    рассмотрим, как
    включить макросы в Excel
    2010.

    как вставить макрос в 2010 excel

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

    В
    2010 версии Экселя разработчики сделали
    упор на безопасность, поэтому для
    включения макросов нужно сделать
    следующее:

    • В верхнем меню приложения нажмите
      «Файл».
    • Откроется список, выбрать предпоследний
      пункт – «Параметры».
    • Нажмите,
      и попадете в окно «Параметры Excel». Слева
      перейдите в «Центр управления
      безопасностью».

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

    • Справа в тексте кликните «Параметры…».
    • Откроется еще одно меню, где нужно
      выбрать «Параметры макросов».
    • Отметьте один из пунктов, нажмите «Ок».

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

    • Закройте и запустите
      Excel снова, для вступления изменений в
      силу.

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

    Здесь
    способ не сильно отличается от того,
    как
    включить макросы в Excel
    2010:

    • Нажмите кнопку «Файл» (круглая желтая
      кнопка с цветными квадратами) слева
      сверху окна.
    • В правой нижней части меню кликните на
      «Параметры Excel».

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

    • Перейдите в раздел «Центр управления
      безопасностью», а затем «Параметры
      центра…»
    • В открывшемся меню отметьте режим работы
      макросов, который нужен.

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

    • Перезапустите Эксель.

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

    2003
    Эксель уступает в безопасности 2010-му,
    и включить макросы в нем легче, но важно
    тщательно проверять файлы на вирусы,
    пользуясь им. Включить исполнение
    макросов можно так:

    1. В
      открытом приложении нажмите на кнопку
      «Сервис» в верхнем меню.
    2. В выпадающем списке нажмите на «Макрос»,
      и «Безопасность».
    3. Откроется меню безопасности, где нужно
      отметить уровень безопасности для
      макросов.
    4. Нажмите
      «Ок», и перезайдите в Эксель.

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

    Способы

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

    • во
      время показа окна сообщения;
    • с
      помощью Backstage;
    • когда
      появляется предупреждение системы
      безопасности.

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

    Во
    время показа окна сообщения

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

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

    С
    помощью Backstage

    Если
    открыть книгу с макросами, в меню «Файл»
    появляется сообщение, позволяющее
    активировать их. Для этого сделайте
    следующее:

    1. Раскройте меню «Файл» — левая в ленте
      вверху страницы.
    2. В окне «Предупреждение системы
      безопасности» кликните по «Включить
      содержимое».
    3. Появится диалоговое меню, где необходимо
      будет отметить «Всегда включать активное
      содержимое этого документа».

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

    После
    того как все получилось, перезагрузите
    приложение.

    Активировать
    на одну сессию при появлении предупреждения
    системы безопасности

    Способ
    включения только на один раз для одной
    книги:

    1. Раскройте меню «Файл» — левая в ленте
      вверху страницы.
    2. В окне «Предупреждение системы
      безопасности» кликните по «Включить
      содержимое».
    3. Перейдите в раздел «Дополнительные
      параметры».
    4. В появившемся поле активируйте пункт
      «Включить содержимое для этого сеанса»
      по очереди для каждого из макросов.
    5. Сохраните изменения, кликнув «Ок».

    Включение и отключение макросов в программе Microsoft Excel

    Макросы – это инструмент для создания команд в приложении Microsoft Excel, которые позволяют значительно сократить время на выполнение задач, автоматизировав процесс. Но, в то же время, макросы являются источником уязвимости, которой могут воспользоваться злоумышленники. Поэтому, пользователь на свой страх и риск должен решить применять данную возможность в конкретном случае, или нет. Например, если он не уверен в благонадежности открываемого файла, то лучше макросами не пользоваться, ведь они могут послужить причиной заражения компьютера вредоносным кодом. Учитывая это, разработчики предоставили возможность пользователю самому решать вопрос включения и отключения макросов.

    Включение и отключение макросов через меню разработчика

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

    Включить или отключить макросы в Microsoft Excel можно через меню разработчика. Но, проблема состоит в том, что по умолчанию данное меню отключено. Чтобы его включить, переходим во вкладку «Файл». Далее, кликаем по пункту «Параметры».

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

    После этого, на ленте появляется вкладка «Разработчик».

    Переходим во вкладку «Разработчик». В самой правой части ленты расположен блок настроек «Макросы». Чтобы включить или отключить макросы, кликаем по кнопке «Безопасность макросов».

    Открывается окно центра управления безопасностью в разделе «Макросы». Для того, чтобы включить макросы, переставляем переключатель в позицию «Включить все макросы». Правда, данное действие разработчик не рекомендует выполнять в целях безопасности. Так что, всё выполняется на свой страх и риск. Жмем на кнопку «OK», которая расположена в нижнем правом углу окна.

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

    1. Отключить все макросы без уведомления;
    2. Отключить все макросы с уведомлением;
    3. Отключить все макросы, кроме макросов с цифровой подписью.

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

    Включение и отключение макросов через параметры программы

    Существует ещё один способ включения и отключения макросов. Прежде всего, переходим в раздел «Файл», и там жмем на кнопку «Параметры», как и в случае включения меню разработчика, о чем мы говорили выше. Но, в открывшемся окне параметров, переходим не в пункт «Настройка ленты», а в пункт «Центр управления безопасностью». Кликаем по кнопке «Параметры центра управления безопасностью».

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

    Включение и отключение макросов в других версиях Excel

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

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

    Для того, чтобы включить или отключить макросы в программе Excel 2007, нужно сразу кликнуть по логотипу Microsoft Office в верхнем левом углу окна, а затем в нижней части открывшейся страницы нажать на кнопку «Параметры». Далее, открывается окно Центра управления безопасностью, и дальнейшие действия по включению и отключению макросов практически ничем не отличаются от описанных для Excel 2010.

    В версии Excel 2007 достаточно просто последовательно перейти по пунктам меню «Сервис», «Макрос» и «Безопасность». После этого, откроется окно, в котором нужно выбрать один из уровней безопасность работы макросов: «Очень высокая», «Высокая», «Средняя» и «Низкая». Эти параметры соответствуют пунктам параметров макросов более поздних версий.

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

    Отблагодарите автора, поделитесь статьей в социальных сетях.

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

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

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

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

    Чтобы включить или отключить макросы в Excel 2003 вам необходимо зайти в следующее меню Сервис | Макрос | Безопасность

    В открывшемся окне переставьте переключатель Уровень безопасности в положение Средняя или Низкая.

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

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

    В Excel 2007 включить или отключить макросы можно таким же способом, но данное меню находится в другом месте. В Excel 2007 это можно сделать в окне Параметры макросов. Чтобы попасть в данное меню вам необходимо перейти в Меню | Параметры Excel

    В открывшемся окне необходимо запустить Центр управления безопасностью | Параметры центра управления безопасностью | Параметры макросов

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

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

    Более быстрый способ мы рассмотрим на примере Excel 2010, но он полностью подходит и для Excel 2007

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

    Запуск макросов в Excel 2010 аналогичен Excel 2007 в связи с этим мы рассмотрим другой способ открыть окно Параметры макросов для возможности включать или отключать макросы.

    Для этого необходимо перейти в раздел Разработчик | Безопасность макросов | Параметры макросов | Включить все макросы (не рекомендуется, возможен запуск опасной программы)

    Стоит отметить, что раздел панели инструментов Разработчик в Excel 2007 доступен по умолчанию, а в Excel 2010 его необходимо включить. Это особенно полезно сделать тем пользователям, которые будут часто работать с макросами. Чтобы включить панель инструментов Разработчик в Excel 2010 необходимо запустить Файл | Параметры | Настройка ленты после этого необходимо с правой стороны необходимо поставить галочку напротив надписи Разработчик

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

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

    Microsoft Excel – это популярное для работы с таблицами приложение, используемое в офисах и дом.

    Microsoft Excel – это популярное для работы с таблицами приложение, используемое в офисах и домах 90% людей. Несмотря на то что программе уже 34 года, новые возможности продолжают добавляться в обновлениях. Поэтому программа до сих пор популярна. Чтобы облегчить себе работу, нужно знать, как работают эти опции. Для начала расскажем о том, что такое макросы, а потом – как включить макросы в Excel 2010, 2007, 2003.

    Что такое макрос?

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

    Описание параметров макросов

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

    1. Отключить макросы без уведомления. Применяется для таблиц, автор которых неизвестен. Деактивирует сохраненные в ячейках макросы, не предупреждая об этом. Пользуйтесь им при опасности вирусов в таблице.
    2. Отключить макросы с уведомлением. Этот режим выбран стандартно. Предлагает выключать макросы, но перед этим запрашивает разрешения пользователя. С ним вы сможете решать, оставлять ли, или нет отдельно каждый макрос.
    3. Отключить макросы, кроме макросов с цифровой подписью. Похож на предыдущий, но автоматически разрешает использование макросов, подписанных цифровой подписью предприятия, доверие которому вы уже подтвердили.
    4. Включить макросы. Из названия понятно, что параметр разрешает использование макрокоманд, записанных в таблицу.
    5. Доверять доступ к объектной модели проектов VBA.

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

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

    Существует три версии Экселя, где активация макросов отличается друг от друга. Сначала рассмотрим, как включить макросы в Excel 2010.

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

    В 2010 версии Экселя разработчики сделали упор на безопасность, поэтому для включения макросов нужно сделать следующее:

    • В верхнем меню приложения нажмите «Файл».
    • Откроется список, выбрать предпоследний пункт – «Параметры».
    • Нажмите, и попадете в окно «Параметры Excel». Слева перейдите в «Центр управления безопасностью».

    • Справа в тексте кликните «Параметры. ».
    • Откроется еще одно меню, где нужно выбрать «Параметры макросов».
    • Отметьте один из пунктов, нажмите «Ок».

    • Закройте и запустите Excel снова, для вступления изменений в силу.

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

    Здесь способ не сильно отличается от того, как включить макросы в Excel 2010:

    • Нажмите кнопку «Файл» (круглая желтая кнопка с цветными квадратами) слева сверху окна.
    • В правой нижней части меню кликните на «Параметры Excel».

    • Перейдите в раздел «Центр управления безопасностью», а затем «Параметры центра. »
    • В открывшемся меню отметьте режим работы макросов, который нужен.

    • Перезапустите Эксель.

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

    2003 Эксель уступает в безопасности 2010-му, и включить макросы в нем легче, но важно тщательно проверять файлы на вирусы, пользуясь им. Включить исполнение макросов можно так:

    1. В открытом приложении нажмите на кнопку «Сервис» в верхнем меню.
    2. В выпадающем списке нажмите на «Макрос», и «Безопасность».
    3. Откроется меню безопасности, где нужно отметить уровень безопасности для макросов.
    4. Нажмите «Ок», и перезайдите в Эксель.

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

    • во время показа окна сообщения;
    • с помощью Backstage;
    • когда появляется предупреждение системы безопасности.

    Во время показа окна сообщения

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

    С помощью Backstage

    Если открыть книгу с макросами, в меню «Файл» появляется сообщение, позволяющее активировать их. Для этого сделайте следующее:

    1. Раскройте меню «Файл» — левая в ленте вверху страницы.
    2. В окне «Предупреждение системы безопасности» кликните по «Включить содержимое».
    3. Появится диалоговое меню, где необходимо будет отметить «Всегда включать активное содержимое этого документа».

    После того как все получилось, перезагрузите приложение.

    Активировать на одну сессию при появлении предупреждения системы безопасности

    Способ включения только на один раз для одной книги:

    1. Раскройте меню «Файл» — левая в ленте вверху страницы.
    2. В окне «Предупреждение системы безопасности» кликните по «Включить содержимое».
    3. Перейдите в раздел «Дополнительные параметры».
    4. В появившемся поле активируйте пункт «Включить содержимое для этого сеанса» по очереди для каждого из макросов.
    5. Сохраните изменения, кликнув «Ок».

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

    Содержание

    Запуск макросов

    Для запуска макросов воспользуйтесь сочетанием горячих клавиш Alt + F8. Должно появиться следующее окно:

    Excel 2003

    Excel 2007

    Excel 2010

    Выберите в панели вкладку «Вид» и нажмите на кнопку «Макросы».

    Настройки для запуска

    Excel 2003

    Меню “Сервис” — Подменю “Макрос” — Команда “Безопасность…” Устанавливаем уровни безопасности “Средняя” или “Низкая” — ОК Если “Средняя” — компьютер будет спрашивать, включать или нет макросы в книге. Если “Низкая” — просто будет включать макросы без предупреждения.

    Excel 2007

    Слева вверху есть кнопка “Office”. Она круглая и красивая. Тыкаем по ней. Внизу меню выбираем кнопку “Параметры Excel”. Затем слева выбираем “Центр управления безопасностью”. Потом справа кнопка “Параметры центра управления безопасностью”. Потом слева “Параметры макросов”. Потом справа отмечаем “Включить все макросы” или “отключить все макросы с уведомлением”. Если просто включить все макросы, то при открытии будут открываться все макросы. Если выбран вариант открывать с уведомлением, то при открытии книги с макросами будет возникать предупреждение и вопрос про “Включить” или “Не включить”. Если в книге есть полезные макросы, значит, “Включить”. Ежели книга не должна содержать макросы, то, вероятно, кто-то внедрил в нее вредную программу и тогда “Отключить”.

    Excel 2010

    Нажмите кнопку Microsoft Office Изображение кнопки, а затем — кнопку Параметры Excel.

    Выберите категорию Центр управления безопасностью, нажмите кнопку Параметры центра управления безопасностью и щелкните Параметры макросов.

    Выберите нужные параметры.

    • Отключить все макросы без уведомления Данный параметр следует выбирать при отсутствии доверия к макросам. В результате отключаются все макросы в документах и связанные с ними оповещения системы безопасности. Макросы без цифровой подписи, но полученные из надежных источников, можно переместить в надежное расположение. Макросы в документах из надежного расположения могут запускаться без проверки системой безопасности центра управления безопасностью.
    • Отключить все макросы с уведомлением Данный параметр установлен по умолчанию. Выберите этот параметр, если нужно отключить макросы, но при их наличии необходимо получать оповещения системы безопасности. Это позволит включать макросы только в случаях, когда это требуется.
    • Отключить все макросы кроме макросов с цифровой подписью Данный параметр идентичен параметру Отключить все макросы с уведомлением за исключением того, что при наличии цифровой подписи надежного издателя макрос запускается только в случае, если данный издатель уже внесен в список надежных. Если издатель не внесен в этот список, появится уведомление. Таким образом, можно выбрать нужный вариант: включить макрос, содержащий цифровую подпись, или занести издателя в список надежных. Все макросы, не содержащие цифровой подписи, отключаются без уведомления.
    • Включить все макросы (не рекомендуется, возможен запуск опасной программы) Данный параметр разрешает выполнение всех макросов. Компьютер становится уязвимым для потенциально опасного кода, поэтому использовать этот параметр не рекомендуется.
    • Доверять доступ к объектной модели проектов VBA Этот параметр предназначен для разработчиков и позволяет явно заблокировать или разрешить программный доступ к объектной модели VBA от любого клиента автоматизации. Другими словами, он позволяет защитить код, созданный для автоматизации программ Office и программного управления средой Microsoft Visual Basic для приложений (VBA) и объектной моделью. Этот параметр можно установить для отдельного пользователя или приложения. По умолчанию доступ запрещен. Этот параметр безопасности затрудняет несанкционированным программам создание самореплицирующегося кода, который может причинить вред системе пользователя. Чтобы любой клиент автоматизации смог получить программный доступ к объектной модели VBA, пользователь, выполняющий код, должен явным образом предоставить его. Чтобы включить доступ, установите флажок.
    • Диалоговое окно с параметрами безопасности макросов можно открыть с вкладки Разработчик на ленте, которая является частью интерфейса Пользовательский интерфейс Microsoft Office Fluent. Если вкладка Разработчик недоступна, нажмите кнопку Microsoft Office Изображение кнопки, а затем — кнопку Параметры Excel. Выберите категорию Основные и установите флажок Показывать вкладку «Разработчик» на ленте.

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

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

      Работа с макросами

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

      Включение/выключение макросов с помощью меню разработчика

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

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

        Зайдите в блок «Файл» и откройте раздел «Параметры».

    • В боковом меню нажмите на строку «Настройки ленты», после чего в правой области окна поставьте флажок напротив пункта «Разработчик».
    • Для сохранения внесенных изменений кликните «ОК».

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

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

      Работа с макросами через настройки софта

      Разработчики утилиты предусмотрели еще один метод работы с макросами через параметры программы. Для того чтобы изменить настройки алгоритмов, проделайте такие шаги:

      1. Зайдите в меню «Файл», после чего перейдите в раздел «Параметры».
      2. Откройте блок «Центр управления безопасностью» и кликните по строке «Параметры центра…».
      3. Таким образом, вы попадете непосредственно в «Центр управления безопасностью», где во вкладке «Параметры макросов» можно будет регулировать настройки программных алгоритмов. Как это сделать, подробно рассматривалось в предыдущем способе.

      Работа с макросами в других версиях Excel

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

      Обычно трудности возникают только при работе с Excel 2007. Для того чтобы отключить/включить макросы, необходимо нажать на логотип программы, после чего перейти в блок «Параметры». После этого вы сможете установить необходимые настройки макросов. В более ранних версиях утилиты необходимо будет перейти в блок «Сервис» и открыть раздел «Макрос». Во вкладке «Безопасность» можно указать необходимые настройки работы программных алгоритмов. На выбор доступно 4 варианта безопасности: низкая, средняя, высокая и очень высокая. Каждый из пунктов соответствует настройкам в Excel 2010.

      Как видите, в каждой новой версии все сложнее работать с макросами. Разработчики софта стараются обезопасить пользователей, поэтому включать/отключать программные алгоритмы могут только опытные юзеры, которые способны самостоятельно оценить все риски работы с макросами.

      Похожие статьи

    Время на прочтение
    7 мин

    Количество просмотров 311K

    Приветствую всех.

    В этом посте я расскажу, что такое VBA и как с ним работать в Microsoft Excel 2007/2010 (для более старых версий изменяется лишь интерфейс — код, скорее всего, будет таким же) для автоматизации различной рутины.

    VBA (Visual Basic for Applications) — это упрощенная версия Visual Basic, встроенная в множество продуктов линейки Microsoft Office. Она позволяет писать программы прямо в файле конкретного документа. Вам не требуется устанавливать различные IDE — всё, включая отладчик, уже есть в Excel.

    Еще при помощи Visual Studio Tools for Office можно писать макросы на C# и также встраивать их. Спасибо, FireStorm.

    Сразу скажу — писать на других языках (C++/Delphi/PHP) также возможно, но требуется научится читать, изменять и писать файлы офиса — встраивать в документы не получится. А интерфейсы Microsoft работают через COM. Чтобы вы поняли весь ужас, вот Hello World с использованием COM.

    Поэтому, увы, будем учить Visual Basic.

    Чуть-чуть подготовки и постановка задачи

    Итак, поехали. Открываем Excel.

    Для начала давайте добавим в Ribbon панель «Разработчик». В ней находятся кнопки, текстовые поля и пр. элементы для конструирования форм.

    Появилась вкладка.

    Теперь давайте подумаем, на каком примере мы будем изучать VBA. Недавно мне потребовалось красиво оформить прайс-лист, выглядевший, как таблица. Идём в гугл, набираем «прайс-лист» и качаем любой, который оформлен примерно так (не сочтите за рекламу, пожалуйста):

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

    Результат, которого хотим добиться, выглядит примерно так:

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

    Кодим

    Для начала требуется создать кнопку, при нажатии на которую будет вызываться наша програма. Кнопки находятся в панели «Разработчик» и появляются по кнопке «Вставить». Вам нужен компонент формы «Кнопка». Нажали, поставили на любое место в листе. Далее, если не появилось окно назначения макроса, надо нажать правой кнопкой и выбрать пункт «Назначить макрос». Назовём его FormatPrice. Важно, чтобы перед именем макроса ничего не было — иначе он создастся в отдельном модуле, а не в пространстве имен книги. В этому случае вам будет недоступно быстрое обращение к выделенному листу. Нажимаем кнопку «Новый».

    И вот мы в среде разработки VB. Также её можно вызвать из контекстного меню командой «Исходный текст»/«View code».

    Перед вами окно с заглушкой процедуры. Можете его развернуть. Код должен выглядеть примерно так:

    Sub FormatPrice()End Sub

    Напишем Hello World:

    Sub FormatPrice()
        MsgBox "Hello World!"
    End Sub

    И запустим либо щелкнув по кнопке (предварительно сняв с неё выделение), либо клавишей F5 прямо из редактора.

    Тут, пожалуй, следует отвлечься на небольшой ликбез по поводу синтаксиса VB. Кто его знает — может смело пропустить этот раздел до конца. Основное отличие Visual Basic от Pascal/C/Java в том, что команды разделяются не ;, а переносом строки или двоеточием (:), если очень хочется написать несколько команд в одну строку. Чтобы понять основные правила синтаксиса, приведу абстрактный код.

    Примеры синтаксиса

    ' Процедура. Ничего не возвращает
    ' Перегрузка в VBA отсутствует
    Sub foo(a As String, b As String)
        ' Exit Sub ' Это значит "выйти из процедуры"
        MsgBox a + ";" + b
    End Sub' Функция. Вовращает Integer
    Function LengthSqr(x As Integer, y As IntegerAs Integer
        ' Exit Function
        LengthSqr = x * x + y * y
    End FunctionSub FormatPrice()
        Dim s1 As String, s2 As String
        s1 = "str1"
        s2 = "str2"
        If s1 <> s2 Then
            foo "123""456" ' Скобки при вызове процедур запрещены
        End IfDim res As sTRING ' Регистр в VB не важен. Впрочем, редактор Вас поправит
        Dim i As Integer
        ' Цикл всегда состоит из нескольких строк
        For i = 1 To 10
            res = res + CStr(i) ' Конвертация чего угодно в String
            If i = 5 Then Exit For
        Next iDim x As Double
        x = Val("1.234"' Парсинг чисел
        x = x + 10
        MsgBox xOn Error Resume Next ' Обработка ошибок - игнорировать все ошибки
        x = 5 / 0
        MsgBox xOn Error GoTo Err ' При ошибке перейти к метке Err
        x = 5 / 0
        MsgBox "OK!"
        GoTo ne

    Err:
        MsgBox 

    "Err!"

    ne:

    On Error GoTo 0 ' Отключаем обработку ошибок

        ' Циклы бывает, какие захотите
        Do While True
            Exit DoLoop 'While True
        Do 'Until False
            Exit Do
        Loop Until False
        ' А вот при вызове функций, от которых хотим получить значение, скобки нужны.
        ' Val также умеет возвращать Integer
        Select Case LengthSqr(Len("abc"), Val("4"))
        Case 24
            MsgBox "0"
        Case 25
            MsgBox "1"
        Case 26
            MsgBox "2"
        End Select' Двухмерный массив.
        ' Можно также менять размеры командой ReDim (Preserve) - см. google
        Dim arr(1 to 10, 5 to 6) As Integer
        arr(1, 6) = 8Dim coll As New Collection
        Dim coll2 As Collection
        coll.Add "item""key"
        Set coll2 = coll ' Все присваивания объектов должны производится командой Set
        MsgBox coll2("key")
        Set coll2 = New Collection
        MsgBox coll2.Count
    End Sub

    Грабли-1. При копировании кода из IDE (в английском Excel) есь текст конвертируется в 1252 Latin-1. Поэтому, если хотите сохранить русские комментарии — надо сохранить крокозябры как Latin-1, а потом открыть в 1251.

    Грабли-2. Т.к. VB позволяет использовать необъявленные переменные, я всегда в начале кода (перед всеми процедурами) ставлю строчку Option Explicit. Эта директива запрещает интерпретатору заводить переменные самостоятельно.

    Грабли-3. Глобальные переменные можно объявлять только до первой функции/процедуры. Локальные — в любом месте процедуры/функции.

    Еще немного дополнительных функций, которые могут пригодится: InPos, Mid, Trim, LBound, UBound. Также ответы на все вопросы по поводу работы функций/их параметров можно получить в MSDN.

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

    Кодим много и под Excel

    В этой части мы уже начнём кодить нечто, что умеет работать с нашими листами в Excel. Для начала создадим отдельный лист с именем result (лист с данными назовём data). Теперь, наверное, нужно этот лист очистить от того, что на нём есть. Также мы «выделим» лист с данными, чтобы каждый раз не писать длинное обращение к массиву с листами.

    Sub FormatPrice()
        Sheets("result").Cells.Clear
        Sheets("data").Activate
    End Sub

    Работа с диапазонами ячеек

    Вся работа в Excel VBA производится с диапазонами ячеек. Они создаются функцией Range и возвращают объект типа Range. У него есть всё необходимое для работы с данными и/или оформлением. Кстати сказать, свойство Cells листа — это тоже Range.

    Примеры работы с Range

    Sheets("result").Activate
    Dim r As Range
    Set r = Range("A1")
    r.Value = "123"
    Set r = Range("A3,A5")
    r.Font.Color = vbRed
    r.Value = "456"
    Set r = Range("A6:A7")
    r.Value = "=A1+A3"

    Теперь давайте поймем алгоритм работы нашего кода. Итак, у каждой строчки листа data, начиная со второй, есть некоторые данные, которые нас не интересуют (ID, название и цена) и есть две вложенные группы, к которым она принадлежит (тип и производитель). Более того, эти строки отсортированы. Пока мы забудем про пропуски перед началом новой группы — так будет проще. Я предлагаю такой алгоритм:

    1. Считали группы из очередной строки.
    2. Пробегаемся по всем группам в порядке приоритета (вначале более крупные)
      1. Если текущая группа не совпадает, вызываем процедуру AddGroup(i, name), где i — номер группы (от номера текущей до максимума), name — её имя. Несколько вызовов необходимы, чтобы создать не только наш заголовок, но и всё более мелкие.
    3. После отрисовки всех необходимых заголовков делаем еще одну строку и заполняем её данными.

    Для упрощения работы рекомендую определить следующие функции-сокращения:

    Function GetCol(Col As IntegerAs String
        GetCol = Chr(Asc("A") + Col)
    End FunctionFunction GetCellS(Sheet As String, Col As Integer, Row As IntegerAs Range
        Set GetCellS = Sheets(Sheet).Range(GetCol(Col) + CStr(Row))
    End FunctionFunction GetCell(Col As Integer, Row As IntegerAs Range
        Set GetCell = Range(GetCol(Col) + CStr(Row))
    End Function

    Далее определим глобальную переменную «текущая строчка»: Dim CurRow As Integer. В начале процедуры её следует сделать равной единице. Еще нам потребуется переменная-«текущая строка в data», массив с именами групп текущей предыдущей строк. Потом можно написать цикл «пока первая ячейка в строке непуста».

    Глобальные переменные

    Option Explicit ' про эту строчку я уже рассказывал
    Dim CurRow As Integer
    Const GroupsCount As Integer = 2
    Const DataCount As Integer = 3

    FormatPrice

    Sub FormatPrice()
        Dim I As Integer ' строка в data
        CurRow = 1
        Dim Groups(1 To GroupsCount) As String
        Dim PrGroups(1 To GroupsCount) As String

        Sheets(

    "data").Activate
        I = 2
        Do While True
            If GetCell(0, I).Value = "" Then Exit Do
            ' ...
            I = I + 1
        Loop
    End Sub

    Теперь надо заполнить массив Groups:

    На месте многоточия

    Dim I2 As Integer
    For I2 = 1 To GroupsCount
        Groups(I2) = GetCell(I2, I)
    Next I2
    ' ...
    For I2 = 1 To GroupsCount ' VB не умеет копировать массивы
        PrGroups(I2) = Groups(I2)
    Next I2
    I =  I + 1

    И создать заголовки:

    На месте многоточия в предыдущем куске

    For I2 = 1 To GroupsCount
        If Groups(I2) <> PrGroups(I2) Then
            Dim I3 As Integer
            For I3 = I2 To GroupsCount
                AddHeader I3, Groups(I3)
            Next I3
            Exit For
        End If
    Next I2

    Не забудем про процедуру AddHeader:

    Перед FormatPrice

    Sub AddHeader(Ty As Integer, Name As String)
        GetCellS("result", 1, CurRow).Value = Name
        CurRow = CurRow + 1
    End Sub

    Теперь надо перенести всякую информацию в result

    For I2 = 0 To DataCount - 1
        GetCellS("result", I2, CurRow).Value = GetCell(I2, I)
    Next I2

    Подогнать столбцы по ширине и выбрать лист result для показа результата

    После цикла в конце FormatPrice

    Sheets("Result").Activate
    Columns.AutoFit

    Всё. Можно любоваться первой версией.

    Некрасиво, но похоже. Давайте разбираться с форматированием. Сначала изменим процедуру AddHeader:

    Sub AddHeader(Ty As Integer, Name As String)
        Sheets("result").Range("A" + CStr(CurRow) + ":C" + CStr(CurRow)).Merge
        ' Чтобы не заводить переменную и не писать каждый раз длинный вызов
        ' можно воспользоваться блоком With
        With GetCellS("result", 0, CurRow)
            .Value = Name
            .Font.Italic = True
            .Font.Name = "Cambria"
            Select Case Ty
            Case 1 ' Тип
                .Font.Bold = True
                .Font.Size = 16
            Case 2 ' Производитель
                .Font.Size = 12
            End Select
            .HorizontalAlignment = xlCenter
        End With
        CurRow = CurRow + 1
    End Sub

    Уже лучше:

    Осталось только сделать границы. Тут уже нам требуется работать со всеми объединёнными ячейками, иначе бордюр будет только у одной:

    Поэтому чуть-чуть меняем код с добавлением стиля границ:

    Sub AddHeader(Ty As Integer, Name As String)
        With Sheets("result").Range("A" + CStr(CurRow) + ":C" + CStr(CurRow))
            .Merge
            .Value = Name
            .Font.Italic = True
            .Font.Name = "Cambria"
            .HorizontalAlignment = xlCenterSelect Case Ty
            Case 1 ' Тип
                .Font.Bold = True
                .Font.Size = 16
                .Borders(xlTop).Weight = xlThick
            Case 2 ' Производитель
                .Font.Size = 12
                .Borders(xlTop).Weight = xlMedium
            End Select
            .Borders(xlBottom).Weight = xlMedium ' По убыванию: xlThick, xlMedium, xlThin, xlHairline
        End With
        CurRow = CurRow + 1
    End Sub

    Осталось лишь добится пропусков перед началом новой группы. Это легко:

    В начале FormatPrice

    Dim I As Integer ' строка в  data
    CurRow = 0 ' чтобы не было пропуска в самом начале
    Dim Groups(1 To GroupsCount) As String

    В цикле расстановки заголовков

    If Groups(I2) <> PrGroups(I2) Then
        CurRow = CurRow + 1
        Dim I3 As Integer

    В точности то, что и хотели.

    Надеюсь, что эта статья помогла вам немного освоится с программированием для Excel на VBA. Домашнее задание — добавить заголовки «ID, Название, Цена» в результат. Подсказка: CurRow = 0 CurRow = 1.

    Файл можно скачать тут (min.us) или тут (Dropbox). Не забудьте разрешить исполнение макросов. Если кто-нибудь подскажет человеческих файлохостинг, залью туда.

    Спасибо за внимание.

    Буду рад конструктивной критике в комментариях.

    UPD: Перезалил пример на Dropbox и min.us.

    UPD2: На самом деле, при вызове процедуры с одним параметром скобки можно поставить. Либо использовать конструкцию Call Foo(«bar», 1, 2, 3) — тут скобки нужны постоянно.

    Like this post? Please share to your friends:
  1. Excel 2007 открыть в одном окне
  2. Excel 2007 открывает пустое окно без документа
  3. Excel 2007 открывает документы в одном окне
  4. Excel 2007 открывает все файлы в одном окне
  5. Excel 2007 основные приемы работы