Включение доступа к VBA для создания или открытия Инструменты Visual Studio для проекта системы Microsoft Office
Перед созданием или открытием Инструменты Visual Studio для проекта Microsoft Office необходимо явно включить доступ к системе проектов Visual Basic для приложений (VBA).
Для проектов разработки Microsoft Office требуется доступ к системе проектов Visual Basic для приложений (VBA) в Microsoft Office Word и Microsoft Office Excel, даже если проекты не используют Visual Basic для приложений. Поддержка элементов управления времени разработки в проектах Visual Basic и C# зависит от системы проектов Visual Basic для приложений.
Некоторые макровирусы Microsoft Office пытаются автоматизировать систему проектов Visual Basic для приложений как способ своего распространения. Разрешая доступ к системе проектов Visual Basic для приложений, вы отключаете средство защиты, которое позволяет предотвратить распространение макровирусов. Тем не менее, остаются стандартные средства обеспечения безопасности макросов: уровень безопасности макросов и список надежных издателей, поддерживаемый для приложений Office, помогут выявить выполнение макросов на компьютере.
Это касается только компьютера разработки. Компьютеры конечных пользователей не нуждаются в этом параметре для запуска решений Office.
Важно отметить, что отключение доступа к системе проектов Visual Basic для приложений само по себе не защитит вас от вирусов, оно просто помогает предотвратить распространение некоторых вирусов в другие документы в случае заражения компьютера макровирусом. Эта возможность отключена по умолчанию, что обеспечивает дополнительный уровень защиты компьютера. Однако ее включение не делает ваш компьютер более подверженным атакам, если вы выполняете рекомендации по обеспечению безопасности.
Лучшая защита от вирусов макросов Office — запуск Office на высоком или очень высоком уровне безопасности, только доверять макросам из проверенных, известных источников и поддерживать актуальность с помощью исправлений безопасности и сканеров вирусов.
Вы можете включить или отключить параметр Trust Access to Visual Basic Project вручную.
При появлении ошибок VBA или COM можно восстановить установку Office.
Заинтересованы в разработке решений, которые расширяют возможности Office на нескольких платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office имеют небольшое пространство по сравнению с надстройками и решениями VSTO, и вы можете создавать их практически с помощью любой технологии веб-программирования, таких как HTML5, JavaScript, CSS3 и XML.
Включение или отключение доступа к проектам Visual Basic
- Перейдите на вкладку Файл .
- Щелкните Параметры.
- Щелкните Центр управления безопасностью и щелкните центр управления безопасностью Параметры.
- В Центре управления безопасностью щелкните макрос Параметры.
- Проверьте или не проверка Доверять доступу к объектной модели проекта VBA, чтобы включить или отключить доступ к проектам Visual Basic.
- Щелкните OK.
Включение или отключение доступа к проектам Visual Basic с помощью системы Microsoft Office 2007
- В меню «Сервис» в Word или Excel наведите указатель мыши на макрос и нажмите кнопку «Безопасность«.
- В диалоговом окне «Безопасность» откройте вкладку «Доверенные издатели«.
- Выберите, чтобы включить или очистить, чтобы отключить, trust Access to Visual Basic Project.
- Щелкните OK.
Настройка уровня безопасности макросов в Office
- Перейдите на вкладку Файл .
- Щелкните Параметры.
- Щелкните Центр управления безопасностью и щелкните центр управления безопасностью Параметры.
- В Центре управления безопасностью щелкните макрос Параметры.
- В разделе «Макрос Параметры» выберите нужный параметр.
- Щелкните OK.
Настройка уровня безопасности макросов Office с помощью системы Microsoft Office 2007
- В меню «Сервис» в Word или Excel наведите указатель мыши на макрос и нажмите кнопку «Безопасность«.
- На вкладке «Уровень безопасности» выберите нужный параметр. Вкладка «Уровень безопасности» содержит сведения о каждом уровне. Дополнительные сведения см. в разделе «Уровни безопасности макросов» справки Microsoft Office.
Установка VBA в выпуске 2007 системы Microsoft Office
- В панель управления запустите команду «Добавить или удалить программы» или «Программы и компоненты«.
- Выберите Office в списке установленных программ .
- Щелкните Изменить.
- Выберите » Добавить или удалить компоненты» и нажмите кнопку «Продолжить«.
- Нажмите кнопку «Выбрать расширенную настройку приложений» и нажмите кнопку «Далее«.
- Разверните общие функции Office в списке «Выбор параметров обновления» для приложений и инструментов.
- Откройте раскрывающееся меню рядом с Visual Basic для приложений и нажмите кнопку «Запустить с моего компьютера«.
- Нажмите кнопку Продолжить.
- Нажмите кнопку Закрыть.
Восстановление установки Office
- В панель управления запустите команду «Добавить или удалить программы» или «Программы и компоненты«.
- Выберите свою версию Office в списке установленных программ .
- Щелкните Изменить.
- Выберите «Переустановить » или «Восстановить«, а затем нажмите кнопку «Далее«.
- Выберите » Обнаружить и восстановить ошибки» в моей установке Office и нажмите кнопку «Установить«.
Связанный контент
Установка и обновление надстройки VBA-Excel
Некоторые функции (КУРС, ПЕРЕВОД, СКЛОНЕНИЕ) требуют наличия интернета.
Установка
- Скачайте установочный файл программы, сохранив его в любое удобное место.
- Откройте скачанный файл Excel.
- Если файл Excel открылся в режиме защищенного просмотра, то разрешите редактирование файла, нажав кнопку Разрешить редактирование под вкладками меню.

- Если макросы в Excel не были включены отобразится инструкция (лист Как установить макросы), которая поможет их включить. С инструкцией по включению макросов можно также ознакомиться на этой странице.
- Нажмите кнопку Установить / обновить, программа автоматически установится.

Обновление
Проверка обновлений выполняется автоматически раз в сутки (при открытии Excel). Вы также можете проверить наличие обновлений вручную выполнив команду Вкладка VBA-Excel -> Справка -> Проверить обновления.

При наличие обновления программа предложит обновиться

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

Нажмите Обновить, программа скачает и откроет новую версию программы.
Ручная установка / обновление надстройки
В 90% случаях процесс установки и обновления автоматический. Иногда сторонние программы блокируют процесс установки. В этих случаях можно установить/обновить программу вручную. Для этого:
- Если установка не проводилась пропустите первые 3 пункта. Откройте параметры Excel.

- Перейдите в список надстроек.

- Отключите надстройку VBA-Excel сняв с нее выбор и нажав ОК.

- Скачайте и откройте актуальную версию программы.
- Откройте меню Файл и выберите пункт Сохранить как (можно также воспользоваться сочетанием клавиш Ctrl + Shift + S).
- Выберите тип файла Надстройка Excel (*.xlam)

- Убедитесь, что открылась папка сохранения . MicrosoftAddIns, переименуйте файл в VBA-Excel.xlam.
- Нажмите Сохранить.
- Заново подключите надстройку отметив ее в списке надстроек (первые три пункта)

Надстройка
VBA-Excel
Надстройка для Excel содержит большой набор полезных функций, с помощью которых вы значительно сократите время и увеличите скорость работы с программой.
Как вставить макрос в Excel
Нам в работе иногда не хватает стандартных возможностей Экселя и приходится напрягать мозги, чтобы написать свою функцию или найти уже готовый макрос для решения данной задачи. Отсюда возникает вопрос: Что такое макрос, как писать и куда его вставлять?
Макрос – это специальная программа, написанная на встроенном в Excel языке программирования VBA (Visual Basic for Applications). Данный язык разработан компанией Microsoft, специально для приложений MS Office.
Как писать макросы – это отдельная большая тема, по которой написаны сотни книг и существует множество сайтов, поэтому мы не будем рассматривать это в данной статье. Для тех, кто интересуется этой темой более подробно, на нашем сайте есть Уроки VBA , где вы сможете ознакомиться с макросами поближе.
Давайте, все-таки, разберем куда макросы нужно вставлять, чтобы они работали в Экселе.
Как добавить VBA код?
Допустим мы имеем готовый макрос для объединения ячеек вместе с текстом (напомним, что стандартно Excel при сочетании ячеек оставляет только текст крайней левой верхней ячейки). Как теперь вставить VBA код нашей функции или процедуры?
Чтобы добавить код макроса, нужно открыть редактор Visual Basic (Alt+F11), правой кнопкой мыши нажать на Microsoft Excel Objects, добавить VBA модуль, выбрав
Теперь копируем туда код нашего макроса:
Нажимаем сохранить и возвращаемся к Excel.
Как запустить макрос?
Чтобы выполнить макрос, нужно выделить необходимые ячейки и выбирать название нашего макроса в меню Вид — Макросы (View — Macros) (Alt+F8):

Жмем кнопку Выполнить (Run) и получаем необходимый нам результат:
Как добавить vba в excel
Если Вы не сильны в программировании, но, при этом, Вам необходимо реализовать какую-либо задачу, выходящую за рамки стандартных функций и команд MS Excel, можно поискать решение в интернете. Решение, скорее всего, найдется в виде VBA кода, который необходимо скопировать и вставить в Вашу рабочую книгу, потом каким-то образом заставить этот код работать на Вас, в этой статье я расскажу, как это сделать.
| Файл | Описание | Размер файла: | Скачивания |
|---|---|---|---|
| Пример | 14 Кб | 2940 |
Рассмотрим два примера:
1. Ищем и используем команду
Например, нам необходима команда, которая бы вставляла в выделенные ячейки цифру «1». Запускаем поисковик, набираем поисковую фразу, получаем результаты, начинаем просматривать, находим код примерно в таком виде:
Sub Вставка1() Dim q As Object On Error Resume Next Set q = Cells For Each q In Selection q = 1 Next q End Sub
Выделяем данный код (без нумерации строк, начиная со слова Sub) и нажимаем Ctrl+C. Переходим в свою рабочую книгу MS Excel и нажимаем сочетание клавиш Alt+F11, у вас откроется окно редактора VBA:

В левом окне «Project — VBA Project» выбираем (щелкаем мышкой) нашу рабочую книгу, в которую необходимо вставить макрос, например, «VBAProject (Книга2)»:

В пункте меню «Insert» выбираем «Module»:

В левом окне «Project — VBA Project» у вас должна появиться новая папка «Modules» и в ней новый объект «Module1»:

Переходим курсором в правое «Большое» поле для ввода и нажимаем Ctrl+V, скопированный макрос вставиться в модуль:

После чего закрываем редактор VBA и возвращаемся в рабочую книгу.
Если вы работаете в MS Excel 2007, 2010 или 2013, вам необходимо будет сохранить вашу рабочую книгу как «Книга Excel с поддержкой макросов (.xlsm)»:

В MS Excel 2003 достаточно будет просто сохранить файл.
Чтобы выполнить скопированный в книгу макрос выделяем ячейки, в которые необходимо вставить «1», нажимаем в меню «Вид» кнопку «Макросы» и в выпавшем списке выбираем пункт «Макросы» или нажимаем сочетание клавиш Alt+F8:

Откроется диалоговое окно «Макрос», в списке макросов выбираем свой и нажимаем кнопку «Выполнить»:

Макрос выполнится — в выделенные ячейки вставиться «1»:

Макросы в MS Excel можно вставлять в следующие места:
- В Модуль, обычно вставляют код макросов, запуск которых будет производится по нажатию кнопки пользователем (как, например, в нашем случае) или код функций (формул);
- В Рабочий лист, обычно вставляют код макросов, запуск которых должен происходить автоматически в зависимости от действий пользователя или изменения данных в листе (поменялись данный, макрос выполнился);
- В Рабочую книгу, обычно вставляют код макросов, запуск которых должен происходить автоматически в зависимости от действий, производимых над книгой (файлом). Например, макрос, который запускается при открытии или закрытии книги, или при ее сохранении;
- Так же макросы могут быть частью пользовательской формы.
Обычно, человек, который публикует код, указывает, куда его необходимо вставить, в модуль, в лист или книгу.
Чтобы вставить код в Рабочий лист, в левом окне редактора VBA выберите соответствующий лист, щелкните по нему два раза левой кнопкой мышки, переместите курсор в правое поле ввода и вставьте код.

Для вставки кода в Книгу, выберите «ЭтаКнига»:

Давайте потренируемся. Вставьте код опубликованный ниже в «Лист1».
Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo a If Target = 2 Then VBA.MsgBox ("Ячейка " & Target.Address & " = 2") End If a: Exit Sub End Sub
Данный макрос выводит информационное сообщение если вы введете в любую ячейку листа «2».
Вернитесь в рабочую книгу, перейдите в «Лист1» и введите в ячейку «А1» цифру «2» и нажмите Enter, после чего у вас должно появиться следующее сообщение:

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

2. Ищем и используем функцию
Находим в интернете VBA код функции, которая подсчитывает, например, количество слов в ячейке:
Public Function КолСловВЯчейке(Ячейка As Range) Dim q As Variant Application.Volatile q = VBA.Split(Application.WorksheetFunction.Trim(Ячейка.Value), " ") КолСловВЯчейке = UBound(q) + 1 End Function
Копируем код, нажимаем сочетание клавиш Alt+F11, откроется редактор VBA:

Добавляем новый модуль в свою книгу и в этот модуль вставляем скопированный код:

Закрываем редактор VBA и переходим в свою рабочую книгу. Создаем новый лист (необязательно) в ячейку A1 вводим текст «мама мыла раму». Встаем в ячейку, в которой хотим получить результат (количество слов), в меню «Формулы» нажимаем кнопку «Вставить функцию»:

В открывшемся окне «Вставка функции» в поле «Категория» выбираем «Определенные пользователем»

В списке доступных функций выбираем «КолСловВЯчейке», нажимаем «ОК»:

Вводим необходимые аргументы и нажимаем «ОК»:


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

Это значит, что у вас проблема с кодировкой, которая наблюдается с копированием Кириллического текста из некоторых браузеров. Чтобы победить эту проблему, попробуйте вставить скопированный код в пустой лист MS Excel, как «Текст в кодировке Unicode». Для этого перейдите в книгу MS Excel, выберите или создайте пустой лист, встаньте в ячейку «A1» и нажмите сочетания клавиш Ctrl+Alt+V. Должно будет появиться меню «Специальной вставки», выберите пункт «Текст в кодировке Unicode» и нажмите «OK».

Код должен будет вставиться в рабочий лист без знаков вопроса:

После этого, еще раз скопируйте вставленный в лист код, и вставить его уже в модуль.
Если вы не видите в редакторе VBA окна «Project — VBA Project», перейдите во вкладку меню «View» и в списке выберите пункт «Project Explorer» или нажмите сочетание клавиш Ctrl+R: