Как добавить vba в excel
Перейти к содержимому

Как добавить vba в excel

  • автор:

Включение доступа к 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

  1. Перейдите на вкладку Файл .
  2. Щелкните Параметры.
  3. Щелкните Центр управления безопасностью и щелкните центр управления безопасностью Параметры.
  4. В Центре управления безопасностью щелкните макрос Параметры.
  5. Проверьте или не проверка Доверять доступу к объектной модели проекта VBA, чтобы включить или отключить доступ к проектам Visual Basic.
  6. Щелкните OK.

Включение или отключение доступа к проектам Visual Basic с помощью системы Microsoft Office 2007

  1. В меню «Сервис» в Word или Excel наведите указатель мыши на макрос и нажмите кнопку «Безопасность«.
  2. В диалоговом окне «Безопасность» откройте вкладку «Доверенные издатели«.
  3. Выберите, чтобы включить или очистить, чтобы отключить, trust Access to Visual Basic Project.
  4. Щелкните OK.

Настройка уровня безопасности макросов в Office

  1. Перейдите на вкладку Файл .
  2. Щелкните Параметры.
  3. Щелкните Центр управления безопасностью и щелкните центр управления безопасностью Параметры.
  4. В Центре управления безопасностью щелкните макрос Параметры.
  5. В разделе «Макрос Параметры» выберите нужный параметр.
  6. Щелкните OK.

Настройка уровня безопасности макросов Office с помощью системы Microsoft Office 2007

  1. В меню «Сервис» в Word или Excel наведите указатель мыши на макрос и нажмите кнопку «Безопасность«.
  2. На вкладке «Уровень безопасности» выберите нужный параметр. Вкладка «Уровень безопасности» содержит сведения о каждом уровне. Дополнительные сведения см. в разделе «Уровни безопасности макросов» справки Microsoft Office.

Установка VBA в выпуске 2007 системы Microsoft Office

  1. В панель управления запустите команду «Добавить или удалить программы» или «Программы и компоненты«.
  2. Выберите Office в списке установленных программ .
  3. Щелкните Изменить.
  4. Выберите » Добавить или удалить компоненты» и нажмите кнопку «Продолжить«.
  5. Нажмите кнопку «Выбрать расширенную настройку приложений» и нажмите кнопку «Далее«.
  6. Разверните общие функции Office в списке «Выбор параметров обновления» для приложений и инструментов.
  7. Откройте раскрывающееся меню рядом с Visual Basic для приложений и нажмите кнопку «Запустить с моего компьютера«.
  8. Нажмите кнопку Продолжить.
  9. Нажмите кнопку Закрыть.

Восстановление установки Office

  1. В панель управления запустите команду «Добавить или удалить программы» или «Программы и компоненты«.
  2. Выберите свою версию Office в списке установленных программ .
  3. Щелкните Изменить.
  4. Выберите «Переустановить » или «Восстановить«, а затем нажмите кнопку «Далее«.
  5. Выберите » Обнаружить и восстановить ошибки» в моей установке Office и нажмите кнопку «Установить«.

Связанный контент

Установка и обновление надстройки VBA-Excel

Некоторые функции (КУРС, ПЕРЕВОД, СКЛОНЕНИЕ) требуют наличия интернета.

Установка

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

Открытие файл в режиме редактирования

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

Установка надстройки

Обновление

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

Проверка обновлений

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

Обновление надстройки

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

Нажмите Обновить, программа скачает и откроет новую версию программы.

Ручная установка / обновление надстройки

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

  1. Если установка не проводилась пропустите первые 3 пункта. Откройте параметры Excel.

Параметры Excel

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

Открыть список надстроек

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

Список надстроек Excel

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

Ручная установка надстройки

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

Надстройка
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)»:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_5.png

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_2.png

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_3.png

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_4.png

После чего закрываем редактор VBA и возвращаемся в рабочую книгу.

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_16.png

В MS Excel 2003 достаточно будет просто сохранить файл.

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_8.png

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_9.png

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_20.png

Макросы в MS Excel можно вставлять в следующие места:

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

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

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_10.png

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_17.png

Давайте потренируемся. Вставьте код опубликованный ниже в «Лист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, после чего у вас должно появиться следующее сообщение:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_11.png

Если вы видите это сообщение, то вы все сделали правильно. Если нет, то вы вставили код куда-то не туда, повторите попытку.

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_21.png

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:

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_22.png

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_23.png

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_12.png

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_13.png

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_14.png

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_15.png

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_24.png

Важно:

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

Если при вставке макроса в модуль у вас вместо некоторого текста стоят красные знаки » . «

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_6.png

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_7.png

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

kak-vstavit-gotovyj-makros-v-rabochuyu-knigu_18.png

После этого, еще раз скопируйте вставленный в лист код, и вставить его уже в модуль.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *