Как из Excel Вставлять в Word Макросом
Например, нам необходима команда, которая бы вставляла в выделенные ячейки цифру «1». Запускаем поисковик, набираем поисковую фразу, получаем результаты, начинаем просматривать, находим код примерно в таком виде:
Выделяем данный код (без нумерации строк, начиная со слова Sub) и нажимаем Ctrl+C. Переходим в свою рабочую книгу MS Excel и нажимаем сочетание клавиш Alt+F11, у вас откроется окно редактора VBA:
В левом окне «Project — VBA Project» выбираем (щелкаем мышкой) нашу рабочую книгу, в которую необходимо вставить макрос, например, «VBAProject (Книга2)»:
В левом окне «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».
Данный макрос выводит информационное сообщение если вы введете в любую ячейку листа «2».
Вернитесь в рабочую книгу, перейдите в «Лист1» и введите в ячейку «А1» цифру «2» и нажмите Enter, после чего у вас должно появиться следующее сообщение:
Если вы видите это сообщение, то вы все сделали правильно. Если нет, то вы вставили код куда-то не туда, повторите попытку.
При вставке кода, необходимо внимательно следить за тем, куда вы его вставляете. Это можно сделать посмотрев на то, что написано в заголовке окна редактора VBA:
Находим в интернете VBA код функции, которая подсчитывает, например, количество слов в ячейке:
Копируем код, нажимаем сочетание клавиш Alt+F11, откроется редактор VBA:
Добавляем новый модуль в свою книгу и в этот модуль вставляем скопированный код:
Закрываем редактор VBA и переходим в свою рабочую книгу. Создаем новый лист (необязательно) в ячейку A1 вводим текст «мама мыла раму». Встаем в ячейку, в которой хотим получить результат (количество слов), в меню «Формулы» нажимаем кнопку «Вставить функцию»:
В открывшемся окне «Вставка функции» в поле «Категория» выбираем «Определенные пользователем»
В списке доступных функций выбираем «КолСловВЯчейке», нажимаем «ОК»:
Если вы не сохраните книгу, в которую вставили макрос как «Книгу с поддержкой макросов», все модули с макросами удаляться и вам придется, потом, повторно проделывать всю эту работу.
Если при вставке макроса в модуль у вас вместо некоторого текста стоят красные знаки » . «
Код должен будет вставиться в рабочий лист без знаков вопроса:
После этого, еще раз скопируйте вставленный в лист код, и вставить его уже в модуль.
Если вы не видите в редакторе VBA окна «Project — VBA Project», перейдите во вкладку меню «View» и в списке выберите пункт «Project Explorer» или нажмите сочетание клавиш Ctrl+R:
Добавить комментарий
Комментарии
В книге готовых макросов я нашел «Копирование столбцов на другой лист». Как сделать, чтобы при переходе из одной ячейки листа (назовем его копия) в другую копирование выполнялось с учетом изменения диапазона (постоянной длины) копируемых ячеек в листе (оригинал)? Спасибо.
[expert_bq id=»1570″]Если вам нужно записать длинную последовательность задач, советуем вместо этого использовать несколько более мелких макросов. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] Разработка макроса, как и любая другая работа, это определенный путь, в котором будут допущены ошибки и будет их исправление. Ошибки могут быть обнаружены сразу или не видны при первом взгляде. Более детально об этом описано в главе Подходы к отладке кода.Макросы в Word. Работа с таблицами (Практика Видео) — D-Nik Pro
- В Модуль, обычно вставляют код макросов, запуск которых будет производится по нажатию кнопки пользователем (как, например, в нашем случае) или код функций (формул);
- В Рабочий лист, обычно вставляют код макросов, запуск которых должен происходить автоматически в зависимости от действий пользователя или изменения данных в листе (поменялись данный, макрос выполнился);
- В Рабочую книгу, обычно вставляют код макросов, запуск которых должен происходить автоматически в зависимости от действий, производимых над книгой (файлом). Например, макрос, который запускается при открытии или закрытии книги, или при ее сохранении;
- Так же макросы могут быть частью пользовательской формы.
Для автоматизации повторяющихся задач в Microsoft Excel можно быстро записать макрос. Предположим, у вас есть даты в различном формате и вы хотите применить ко всем из них один формат. Это можно сделать с помощью макроса. Вы можете записать макрос, который применяет нужный формат, а затем запускать его при необходимости.