Foreversoft.ru

IT Справочник
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Excel макрос добавить лист

Добавление и изменение макроса для элемента управления на листе

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

Для автоматизации элемента управления формы или элемента ActiveX выполните указанные ниже действия.

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

Выполняйте программы Microsoft Visual Basic для приложений (VBA) для обработки событий, происходящих при взаимодействии пользователя с элементом управления ActiveX.

Дополнительные сведения о создании макросов можно найти в разделе Создание и удаление макросов.

Добавление и изменение макроса для элемента управления формы

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

Откроется диалоговое окно назначение макросов .

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

Чтобы найти макрос во всех открытых книгах, выберите все открытые книги.

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

Чтобы ограничить поиск макроса книги, содержащей текущий лист, выберите Эта книга.

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

Выполните одно из следующих действий.

Назначение макроса Выполните одно из следующих действий.

Запись нового макроса Нажмите кнопку записьи, когда закончите запись макроса, на вкладке разработчик в группе код нажмите кнопку остановить запись .

Назначение существующего макроса Дважды щелкните макрос в списке или введите его имя в поле имя макроса .

Создание нового макроса Нажмите кнопку создать , а затем в редакторе Visual Basic напишите новый макрос.

Дополнительные сведения о создании макросов можно найти в справке по Visual Basic.

Изменение назначенного макроса Выполните одно из следующих действий.

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

Назначение другого существующего макроса Дважды щелкните макрос в списке или введите его имя в поле имя макроса .

Добавление и изменение макроса для элемента ActiveX

Если вкладка Разработчик недоступна, отобразите ее.

В Excel 2016, 2013, 2010:

Щелкните Файл > Параметры > Настроить ленту.

В разделе Настройка лентыустановите флажок разработчик , а затем нажмите кнопку ОК.

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

В категории популярные в разделе Основные параметры работы с Excelустановите флажок Показывать вкладку «Разработчик» на ленте и нажмите кнопку ОК.

Чтобы изменить элемент ActiveX, убедитесь, что выбран режим конструктора. На вкладке Разработчик в группе Элементы управления нажмите кнопку Режим конструктора .

Выберите элемент управления.

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

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

В редакторе Visual Basic напишите новый макрос или измените существующий макрос.

Дополнительные сведения о создании макросов можно найти в справке по Visual Basic.

Завершив Написание макроса, нажмите кнопку Закрыть и вернитесь в Microsoft Excel из меню файл в редакторе Visual Basic.

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

Excel макрос добавить лист

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

Файлы для скачивания:

ФайлОписаниеРазмер файла:Скачивания
Пример14 Кб1844

Рассмотрим два примера:

1. Ищем и используем команду

Например, нам необходима команда, которая бы вставляла в выделенные ячейки цифру «1». Запускаем поисковик, набираем поисковую фразу, получаем результаты, начинаем просматривать, находим код примерно в таком виде:

Выделяем данный код (без нумерации строк, начиная со слова 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».

Данный макрос выводит информационное сообщение если вы введете в любую ячейку листа «2».

Вернитесь в рабочую книгу, перейдите в «Лист1» и введите в ячейку «А1» цифру «2» и нажмите Enter, после чего у вас должно появиться следующее сообщение:

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

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

2. Ищем и используем функцию

Находим в интернете VBA код функции, которая подсчитывает, например, количество слов в ячейке:

Копируем код, нажимаем сочетание клавиш 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:

Добавление и изменение макроса для элемента управления на листе

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

Для автоматизации элемента управления формы или элемента ActiveX выполните указанные ниже действия.

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

Выполняйте программы Microsoft Visual Basic для приложений (VBA) для обработки событий, происходящих при взаимодействии пользователя с элементом управления ActiveX.

Дополнительные сведения о создании макросов можно найти в разделе Создание и удаление макросов.

Добавление и изменение макроса для элемента управления формы

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

Откроется диалоговое окно назначение макросов .

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

Чтобы найти макрос во всех открытых книгах, выберите все открытые книги.

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

Чтобы ограничить поиск макроса книги, содержащей текущий лист, выберите Эта книга.

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

Выполните одно из следующих действий.

Назначение макроса Выполните одно из следующих действий.

Запись нового макроса Нажмите кнопку записьи, когда закончите запись макроса, на вкладке разработчик в группе код нажмите кнопку остановить запись .

Назначение существующего макроса Дважды щелкните макрос в списке или введите его имя в поле имя макроса .

Создание нового макроса Нажмите кнопку создать , а затем в редакторе Visual Basic напишите новый макрос.

Дополнительные сведения о создании макросов можно найти в справке по Visual Basic.

Изменение назначенного макроса Выполните одно из следующих действий.

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

Назначение другого существующего макроса Дважды щелкните макрос в списке или введите его имя в поле имя макроса .

Добавление и изменение макроса для элемента ActiveX

Если вкладка Разработчик недоступна, отобразите ее.

В Excel 2016, 2013, 2010:

Щелкните Файл > Параметры > Настроить ленту.

В разделе Настройка лентыустановите флажок разработчик , а затем нажмите кнопку ОК.

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

В категории популярные в разделе Основные параметры работы с Excelустановите флажок Показывать вкладку «Разработчик» на ленте и нажмите кнопку ОК.

Чтобы изменить элемент ActiveX, убедитесь, что выбран режим конструктора. На вкладке Разработчик в группе Элементы управления нажмите кнопку Режим конструктора .

Выберите элемент управления.

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

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

В редакторе Visual Basic напишите новый макрос или измените существующий макрос.

Дополнительные сведения о создании макросов можно найти в справке по Visual Basic.

Завершив Написание макроса, нажмите кнопку Закрыть и вернитесь в Microsoft Excel из меню файл в редакторе Visual Basic.

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

Как создать кнопку для вызова макроса на листе?

После создания макроса часто возникает вопрос: а как его теперь запустить? Можно, конечно, нажать сочетание клавиш Alt+F8 и выбрать нужный макрос, но. Во-первых это не всегда удобно, особенно если макросов больше 5-ти. Во-вторых: если файлом с макросом будут пользоваться другие люди, не умеющие всего этого делать, придется объяснять им все это, что тоже не очень здорово — многие просто будут вспоминать Вас не очень хорошими словами 🙂

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

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

Кнопка элемент ActiveX
Данная кнопка считается устаревшей и не рекомендуется к использованию. Однако многие все же предпочитают использовать именно её(либо не знают, что можно по-другому). Так же назначить для этой кнопки макрос кому-то покажется сложнее, чем для остальных, рассматриваемых в данной статье. Как создать такую кнопку:

  • В версии Excel 2007 и выше доступ к этим элементам возможен с вкладки Разработчик (Developer) :
    Отобразить вкладку Разработчик (Developer)(если еще не отображена)
    Excel 2007: Параметры Excel (Excel Options)Основные (Popular) — галочка напротив Показывать вкладку Разработчик на ленте (Show Developer Tab on Ribbon)

    Excel 2010: Файл (File)Параметры (Options)Настройка ленты (Customize Ribbon) — галочка напротив Разработчик (Developer)
    Теперь переходим на эту вкладку и видим команду Вставить (Insert) . Жмем и у нас выпадает меню с возможностью выбрать элементы:

    В категории «Элементы ActiveX» выбираем самый первый(это серенький кирпичик). Курсор приобретет вид тоненького крестика. Теперь нам надо на листе нарисовать кнопку. Все, наша кнопка готова.

  • Для обладателей версии Excel 2003 не намного все проще. Сначала необходимо отобразить панель инструментов Элементы управления. Делается это следующим образом: правая кнопка мыши на панели меню- Настройка— вкладка Панели инструментов

    На данной панели так же выбираем серенький кирпичик и рисуем кнопку.

Теперь осталось назначить созданной кнопке макрос. Для этого, не выходя из режима конструктора (в Excel 2007 он на вкладке Разработчик (Developer) , а в Excel 2003 на панели Visual Basic — ), производим двойной щелчок по созданной кнопке — Excel перейдет в режим редактирования кода из интерфейса VBA и автоматом будет создана пустая процедура: Private Sub CommandButton1_Click(). CommandButton1 — это имя нашей кнопки. У Вас оно может отличаться. Теперь внутрь процедуры мы вписываем строку вызова макроса — Call Макрос1. Вместо Макрос1, естественно, имя необходимого макроса.

Private Sub CommandButton1_Click() Call Макрос1 End Sub

А вот на этом, пожалуй, все для данного элемента.

Для остальных элементов принцип назначения макроса одинаков, а поэтому сначала рассмотрим создания каждого из них, а после уже способ назначения макроса

Кнопка элемент управления формы
Здесь чуть проще. Для того, чтобы добавить данный элемент на лист для начала придется выполнить примерно те же действия, что и для создания кнопки ActiveX.
Для пользователей 2007 Excel и выше отобразить вкладку Разработчик (Developer) на ленте(если еще не отображена). Только выбор кнопки теперь надо делать из первой группы — Элементы управления форм.
для пользователей 2003 сначала надо добавить панель инструментов Формы: правая кнопка мыши на панели- Настройка— вкладка Панели инструментов. Жмем на первый элемент — серенький кирпичик. Рисуем. Как только Вы нарисуете кнопку появится меню с просьбой назначить макрос на кнопку(рис.1). Вы можете сделать это сразу, либо позже.

Автофигура
Для пользователей Excel 2007-2010 : вкладка Вставка (Insert)Фигуры (Shapes) . Просто выбираете любую понравившуюся фигуру.
Для пользователей Excel 2003 для начала необходимо отобразить панель инструментов Рисование, как было описано выше. Там выбрать пункт Автофигуры и выбрать из категории понравившуюся фигуру.
После создания фигуры можно кликнуть по ней правой кнопкой мыши, выбрать Формат фигуры и изменить там оформление фигуры: цвет заливки, прозрачность, обводку и еще разные опции — здесь все зависит от фантазии.

Рисунок
для пользователей Excel 2007 : вкладка Вставка (Insert)Рисунок (Picture) . Выбираете любой рисунок из имеющихся на компьютере.
Для пользователей 2003 сначала необходимо отобразить панель инструментов Рисование(если не отображена). Далее жмем на кнопку Добавить рисунок из файла .

как назначить макрос
Для Кнопки элемент управления формы, Автофигуры и Рисунка процедура назначения макроса совершенно одинакова: жмем правой кнопкой мыши на элементе управления формы, фигуре или картинке — Назначить макрос.

Появится диалоговое окно выбора макросов. Выбираете нужный и жмете Ок. Все, наша кнопка готова и по её нажатии выполняется выбранный нами макрос.
рис.1

Таким же образом можно назначить макрос не только указанным элементам, но и Диаграмме, элементу Надпись, обекту WordArt, рисунку SmartArt.

Статья помогла? Поделись ссылкой с друзьями!

Читать еще:  Vba excel список функций
Ссылка на основную публикацию
Adblock
detector