Как привязать макрос к графическому объекту в excel

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

В этой главе вы узнаете, как включить объект в рабочую книгу и назначить ему макрос.

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

Отзыв

Назначение макроса для фигуры

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

  • Нажмите вкладку INSERT на ленте.

  • Нажмите « Фигуры» в группе «Иллюстрации».

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

Нажмите вкладку INSERT на ленте.

Нажмите « Фигуры» в группе «Иллюстрации».

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

Назначение

Нарисуйте форму и отформатируйте ее.

Draw Shape

  • Щелкните правой кнопкой мыши на фигуре и выберите Edit Text из выпадающего списка.

  • Введите текст внутри фигуры – Запустить макрос.

  • Отформатируйте текст.

Щелкните правой кнопкой мыши на фигуре и выберите Edit Text из выпадающего списка.

Введите текст внутри фигуры – Запустить макрос.

Отформатируйте текст.

Редактировать текст

  • Щелкните правой кнопкой мыши на форме.
  • Выберите Назначить макрос из выпадающего списка.

Назначить макрос

Откроется диалоговое окно «Назначить макрос». Щелкните имя макроса, т.е. RelativeMacro, и нажмите ОК.

Имя макроса

Макрос присваивается фигуре.

  • Нажмите на ячейку, где вы должны запустить макрос, скажем, B4.

  • Переместите курсор (указатель) на фигуру. Курсор (указатель) изменится на палец.

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

Переместите курсор (указатель) на фигуру. Курсор (указатель) изменится на палец.

Курсор

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

Назначение макроса графике

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

  • Нажмите вкладку INSERT на ленте.
  • Нажмите «Изображения» в группе «Иллюстрации».
  • Выберите файл, который содержит вашу графику.

графический

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

Назначение макроса элементу управления

Вставка элемента управления VBA и назначение ему макроса делает вашу работу профессиональной. Элементы управления VBA можно вставить на вкладке «Разработчик» на ленте.

  • Нажмите вкладку РАЗРАБОТЧИК на ленте.

  • Нажмите « Вставить» в группе «Элементы управления».

Нажмите вкладку РАЗРАБОТЧИК на ленте.

Нажмите « Вставить» в группе «Элементы управления».

Вставить

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

Элементы управления формой

  • Щелкните ячейку на листе, в которую вы хотите вставить элемент управления Button. Откроется диалоговое окно «Назначить макрос».

  • Нажмите на имя макроса и нажмите ОК.

Щелкните ячейку на листе, в которую вы хотите вставить элемент управления Button. Откроется диалоговое окно «Назначить макрос».

Нажмите на имя макроса и нажмите ОК.

Кнопочное управление

Кнопка управления с назначенным макросом будет вставлена.

Кнопка управления

  • Щелкните правой кнопкой мыши на кнопке.
  • Нажмите Редактировать текст.
  • Тип – Запустить макрос.
  • Форматировать текст и изменить размер кнопки.

Тип Выполнить макрос

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

Использование элементов управления форм – это простой и эффективный способ взаимодействия с пользователем. Подробнее об этом вы узнаете в главе «Взаимодействие с пользователем».

In Excel, a recorded macro can be assigned to different objects like a shape, graphic, or control note. Instead of running the macro from the required tool in ribbon, we can create these objects to run them easily. They get very handy when multiple macros are there. Individual objects can be created for different macros. 

In this article, let’s discuss how can we assign macros to different objects :

1. Assigning Macro to a Shape

It is one of the easiest ways to run a macro is to create any shape in the worksheet and use it for running the macro.

The steps that need to be followed are:

  • Click on the Insert Tab on the ribbon.

  • Go to the Illustrations group and click on the Shapes icon. In the sheet, choose any shape we like and want it to be assigned as the macro.


  • Click where you want to add the shape in the sheet and the shape will automatically get inserted.

  • The shape can be resized or re-formatted accordingly to the way you want. Text can also be added in the shape.

  • Then Right-Click on the shape and a dialog box would be opened. Then click on Assign Macro.

  • After right-clicking on the shape, another dialog box of Macro would be opened.

  • In the dialog box, select the macro from the list you want to assign to your shape and click the OK button.

The work is done! Now the shape would work as a button and whenever you click on it, it will run the assigned macro.

2. Assigning a Macro to a Graphic

In Excel, there is a pool of graphics from which we can choose. There are 3-D models, Icons, pictures, shapes, and much more which can be added to the sheet as required. These graphics have a special feature i.e Macro can be assigned to them and can run macro whenever needed. 

The steps that need to be followed are:

  • Click on the Insert Tab on the ribbon.

  • From Illustrations tools, different graphics can be chosen such as shapes, icons, pictures, and 3-D models.

  • Click on any graphic and insert it into the sheet. Let’s insert a 3-D model of an insect here.

  • Then, on clicking right on the graphic, from the options, choose to assign macro.

  • A dialog box would open and select the macro you want to assign to that graphic, click OK.

Now, our graphic is ready to use. Just click on the graphic to run the assigned macro.

3. Assigning a Macro to a Control

We can also create a control button to assign a particular macro to it and when a user clicks it, the control button performs the desired set of actions. 

Let’s understand how can we implement this:

  • Go to the Developer Tab on the ribbon.

  • In the Controls group, click on the Button tool.

  • Now, click anywhere on the Excel sheet. As soon as you do this, the Assign Macro dialog box would be opened.

  • Select the macro you want to assign to that button and fill in the other options. Then click on OK.
  • After that, a rectangular button can be seen on the sheet and ready to be used.

The button which appears on the sheet has default settings, and you can’t format it like the colour, shape of the button. However, the text which appears on the button can be changed. Just a right-click on the button and a dialog box would open.

  • Click on Edit Alt Text and change the text. 

These are some objects to which a macro can be assigned. 

4.1.
На вкладке Разработчик
в группе Элементы
управления

нажмите кнопку Вставить
и в разделе Элементы
управления
выберите
Кнопка.

4.2.
Нарисуйте кнопку на рабочем листе.
Щёлкните по кнопке правой кнопкой мыши
и в открывшемся меню выберите имя
макроса, который будет запускать
создаваемая кнопка. Выберите место
сохранения кнопки и нажмите ОК.

4.3.
Измените текс кнопки и разместите её в
удобном месте на рабочем листе.

5. Запуск макроса.

5.1. Поместите
курсор в любую ячейку листа и нажмите
кнопку, запускающую макрос.

5.2.
Перейдите на новый лис. На вкладке
Разработчик
в группе Код
нажмите кнопку Макросы
и выберите макрос Месяцы,
нажмите кнопку ОК.

6. Просмотр
программного кода.
Для
автоматизации более сложных задач
необходимо знакомство с Visual
Basic for Applications (Visual Basic для приложений)
.
Кроме того, встроенный редактор Visual
Basic позволяет просматривать и редактировать
макросы, созданные без его помощи, т.к.
каждый раз когда вы записываете макрос,
он сохраняется в новом модуле Visual Basic,
присоединенном к книге. С помощью Visual
Basic Вы можете копировать макросы и
переименовывать их.

6.1.
Для доступа к редактору Visual Basic, на
вкладке Разработчик
в группе Код
нажмите кнопку Visual
Basic.

Ключевое слово
Sub
обозначает начало макроса. Из-за ключевого
слова Sub
(от анг subroutine – подпрограмма) командные
макросы также называются
процедурами-подпрограммами.

Имя макроса.
После ключевого слова Sub
Excel добавляет имя макроса, за которым
следует открывающаяся и закрывающаяся
скобки.

Комментарии.
Первые несколько строк кода начинаются
с апострофа «‘», которые говорят
редактору VBA, что эти строки являются
комментариями. Комментарии отображаются
только в окне редактора, при выполнении
макроса они не обрабатываются. В каждом
записанном макросе в комментариях
указывается имя макроса, а также описание,
которые вы ввели в диалоговом окне
«Запись макроса» (В Excel также
указывается комбинация клавиш, если
она была задана).

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

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

Внимание!
VBA не предоставляет никаких возможностей
записи новых операторов в существующий
макрос. Если нужно добавить новые
действия в записанный макрос, нужно
сначала записать новый макрос, содержащий
необходимые команды, и отобразить его
код на экране. Затем, используя стандартные
средства Windows копирования и вставки
(можно просто перетащить текст из одного
окна в другое), перенести необходимые
операторы из нового макроса с исходный.

7. Удаление макроса.

1. На вкладке
Разработчик в группе Код нажмите кнопку
Макросы.

2. В открывшемся
окне в поле Имя макроса выделите нужный
макрос и нажмите кнопку Удалить.

8. Самостоятельная
работа.
Запишите
макрос, создающий цветной графический
объект.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Содержание

  1. «Excel» (Word) VBA кнопки. Как создать(добавить) кнопку на листе документа в Эксель.
  2. «Excel» (Word) VBA кнопки.
  3. Рассмотрим 2 типа кнопок:
  4. CommandButton выглядит так:
  5. ToggleButton выглядит так:
  6. Процесс добавления кнопок на лист Excel (Word):
  7. Основные свойства кнопок:
  8. CommandButton:
  9. ToggleButton:
  10. «Excel» (Word) VBA кнопки. Как создать(добавить) кнопку на листе документа в Эксель.: 2 комментария
  11. Добавить комментарий Отменить ответ
  12. Создание кнопки в Microsoft Excel
  13. Процедура создания
  14. Способ 1: автофигура
  15. Способ 2: стороннее изображение
  16. Способ 3: элемент ActiveX
  17. Способ 4: элементы управления формы
  18. Как сделать кнопку в Excel с помощью макроса и гиперссылки
  19. Как сделать кнопку на листе Excel
  20. Как в Excel сделать кнопку с макросом
  21. Другие варианты использования кнопок
  22. Как сделать кнопку сортировки в Excel для таблиц

«Excel» (Word) VBA кнопки. Как создать(добавить) кнопку на листе документа в Эксель.

«Excel» (Word) VBA кнопки.

Наверняка Вам доводилось встречать файлы «Excel» (Word) с размещенными на листах различными кнопками, по нажатию на которые происходит запуск макроса или иные действия.

Хотите узнать, как размещать кнопки на листах Excel(Word)? Тогда читайте статью дальше.

Рассмотрим 2 типа кнопок:

Самая обычная кнопка, называемая CommandButton- эта кнопка нажимается кликом и запускает какое-либо действие, записанное за ней.

Вторая кнопка называется ToggleButton и является выключателем или переключателем. Она может не только запускать действия, но и сама может нести в себе информацию – обладать двумя значениями: False и true, что соответствует ее состоянию нажата или отжата.

CommandButton выглядит так:

ToggleButton выглядит так:

Процесс добавления кнопок на лист Excel (Word):

  1. Если у Вас в ленте не включена панель «Разработчик», ее нужно включить следующим образом:
    • Кликнуть по ленте правой кнопкой мыши и в выпадающем контекстном меню выбрать пункт «Настройка ленты…»

Настройка ленты
В появившемся окне на вкладке «Настроить ленту» установить флажок («галочку») напротив пункта «Разработчик»

Настройка ленты. Разработчик

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

    Режим конструктора Excel
    При включённом режиме конструктора становиться активной кнопка с инструментами. Кликнув по кнопке с инструментами можно выбрать понравившейса Вам активный элемент: CommandButton или ToggleButton .

    Инструменты в режиме конструктора

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

    Внимание: Если У вас не получается выделить кнопку на листе Excel, включите режим конструктора.

    Основные свойства кнопок:

    CommandButton:

    BackColor – цвет фона кнопки.

    Caption – Надпись на кнопке.

    Enabled – состояние кнопки включена или отключена (активна или неактивна).

    Font – шрифт надписи на кнопке.

    ForeColor – Цвет надписи на кнопке.

    Height — высота кнопки.

    Width – ширина кнопки.

    Picture – изображение на поверхности кнопки.

    WordWrap – перенос текста кнопки.

    ToggleButton:

    Свойства практически те же что и у CommandButton, добавляются параметры:

    Value – это значение кнопки False и true, нажата или отжата.

    TripleState – включает или отключает тройное нажатие (три состояния переключателя)

    «Excel» (Word) VBA кнопки. Как создать(добавить) кнопку на листе документа в Эксель.: 2 комментария

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

    Нарисовал входы логики 2и и выход у. Как на входы реализовать кнопки вкл 1 и выкл 0, чтобы на выходи элемента 2и было 1 или 0.

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

    Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

    Источник

    Создание кнопки в Microsoft Excel

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

    Процедура создания

    Как правило, подобная кнопка призвана выступать в качестве ссылки, инструмента для запуска процесса, макроса и т.п. Хотя в некоторых случаях, данный объект может являться просто геометрической фигурой, и кроме визуальных целей не нести никакой пользы. Данный вариант, впрочем, встречается довольно редко.

    Способ 1: автофигура

    Прежде всего, рассмотрим, как создать кнопку из набора встроенных фигур Excel.

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

    Теперь при клике по созданному нами объекту будет осуществляться перемещение на выбранный лист документа.

    Способ 2: стороннее изображение

    В качестве кнопки можно также использовать сторонний рисунок.

    1. Находим стороннее изображение, например, в интернете, и скачиваем его себе на компьютер.
    2. Открываем документ Excel, в котором желаем расположить объект. Переходим во вкладку «Вставка» и кликаем по значку «Рисунок», который расположен на ленте в блоке инструментов «Иллюстрации».
    3. Открывается окно выбора изображения. Переходим с помощью него в ту директорию жесткого диска, где расположен рисунок, который предназначен выполнять роль кнопки. Выделяем его наименование и жмем на кнопку «Вставить» внизу окна.
    4. После этого изображение добавляется на плоскость рабочего листа. Как и в предыдущем случае, его можно сжать, перетягивая границы. Перемещаем рисунок в ту область, где желаем, чтобы размещался объект.

    Теперь при нажатии на объект будет запускаться выбранный макрос.

    Способ 3: элемент ActiveX

    Наиболее функциональной кнопку получится создать в том случае, если за её первооснову брать элемент ActiveX. Посмотрим, как это делается на практике.

    1. Для того чтобы иметь возможность работать с элементами ActiveX, прежде всего, нужно активировать вкладку разработчика. Дело в том, что по умолчанию она отключена. Поэтому, если вы её до сих пор ещё не включили, то переходите во вкладку «Файл», а затем перемещайтесь в раздел «Параметры».
    2. В активировавшемся окне параметров перемещаемся в раздел «Настройка ленты». В правой части окна устанавливаем галочку около пункта «Разработчик», если она отсутствует. Далее выполняем щелчок по кнопке «OK» в нижней части окна. Теперь вкладка разработчика будет активирована в вашей версии Excel.
    3. После этого перемещаемся во вкладку «Разработчик». Щелкаем по кнопке «Вставить», расположенной на ленте в блоке инструментов «Элементы управления». В группе «Элементы ActiveX» кликаем по самому первому элементу, который имеет вид кнопки.
    4. После этого кликаем по любому месту на листе, которое считаем нужным. Сразу вслед за этим там отобразится элемент. Как и в предыдущих способах корректируем его местоположение и размеры.
    5. Кликаем по получившемуся элементу двойным щелчком левой кнопки мыши.
    6. Открывается окно редактора макросов. Сюда можно записать любой макрос, который вы хотите, чтобы исполнялся при нажатии на данный объект. Например, можно записать макрос преобразования текстового выражения в числовой формат, как на изображении ниже. После того, как макрос записан, жмем на кнопку закрытия окна в его правом верхнем углу.

    Теперь макрос будет привязан к объекту.

    Способ 4: элементы управления формы

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

    1. Переходим во вкладку «Разработчик» и кликаем по знакомой нам кнопке «Вставить», размещенной на ленте в группе «Элементы управления». Открывается список. В нем нужно выбрать первый же элемент, который размещен в группе «Элементы управления формы». Данный объект визуально выглядит точно так же, как и аналогичный элемент ActiveX, о котором мы говорили чуть выше.
    2. Объект появляется на листе. Корректируем его размеры и место расположения, как уже не раз делали ранее.
    3. После этого назначаем для созданного объекта макрос, как это было показано в Способе 2 или присваиваем гиперссылку, как было описано в Способе 1.

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

    Источник

    Как сделать кнопку в Excel с помощью макроса и гиперссылки

    Кнопка в Excel как ссылка на ячейку, какой-либо инструмент, созданный макрос значительно упрощает работу в программе. Чаще всего это графический объект с назначенным макросом или гиперссылкой. Рассмотрим, как сделать такую кнопку.

    Как сделать кнопку на листе Excel

    Суть работы: создать графический объект и назначить для него макрос или гиперссылку. Рассмотрим подробнее.

    Способы создания графического объекта:

    1. Кнопка – элемент ActiveX. Переходим на вкладку «Разработчик». Нажимаем кнопку «Вставить». Открывается меню с набором элементов для вставки. Выбираем первый элемент ActiveX – «кнопку» (в виде серого кирпичика). Теперь рисуем курсором кнопку необходимого размера.
    2. Кнопка – элемент управления формы. Снова переходим на вкладку «Разработчик». Открываем меню инструмента «Вставить». Теперь выбираем элемент «кнопка» из первой группы (такой же серый кирпичик). Рисуем кнопку. Сразу открывается окно для назначения макроса: можно сделать сразу, а можно попозже.
    3. Кнопка – автофигура. Переходим на вкладку «Вставка». В меню «Иллюстрации» выбираем подходящую фигуру. Рисуем. По готовой фигуре можно щелкнуть правой кнопкой мыши и изменить оформление.
    4. Кнопка – рисунок. Переходим на вкладку «Вставка». В меню «Иллюстрации» выбираем инструмент «Рисунок». Для выбора будут предложены варианты, которые имеются на компьютере.

    Графический объект создан. Теперь нужно сделать его «рабочим».

    Как в Excel сделать кнопку с макросом

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

    Если мы использовали элемент ActiveX, то:

    Для других графических объектов макрос назначается так же. Процедура еще проще. Нужно щелкнуть правой кнопкой мыши по нарисованной кнопке или картинке и выбрать инструмент «Назначить макрос».

    Другие варианты использования кнопок

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

    Нарисуем графический объект и выделим его. На вкладке «Вставка» найдем кнопку «Гиперссылка».

    После нажатия открывается окно для создания связи кнопки с файлом, веб-страницей, электронной почтой, новым документом, местом в текущем документе.

    Достаточно выбрать необходимый вариант и прописать к нему путь. Этот способ не требует написания макросов и предоставляет пользователю широкие возможности.

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

    Sub Макрос 1()
    Range(«M6»).Select
    End Sub

    Точно так же можно назначить макрос диаграмме, объектам WordArt, SmartAtr.

    Как сделать кнопку сортировки в Excel для таблиц

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

    1. Вместо заголовков колонки таблицы добавим автофигуры, которые будут служить кнопками для сортировки по столбцам таблицы.
    2. В режиме Visual Basic — ALT+F11 в папке Modules вставляем новый модуль Module1. Для этого делаем по папке правый щелчок мышкой и выбираем: Insert-Module.
    3. Делаем двойной щелчок по Module1 и вводим в него следующий код: Sub Макрос1()
      ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
      ActiveWorkbook.Worksheets(«Лист1″).Sort.SortFields.Add Key:=Range(» A2:A6 «), _
      SortOn:=xlSortOnValues, Order:= xlAscending , DataOption:=xlSortNormal
      With ActiveWorkbook.Worksheets(«Лист1»).Sort
      .SetRange Range(«A2:D6»)
      .Apply
      End With
      End Sub
      ‘————————————————
      Sub Макрос2()
      ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
      ActiveWorkbook.Worksheets(«Лист1″).Sort.SortFields.Add Key:=Range(» B2:B6 «), _
      SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
      With ActiveWorkbook.Worksheets(«Лист1»).Sort
      .SetRange Range(«A2:D6»)
      .Apply
      End With
      End Sub
      ‘————————————————
      Sub Макрос3(
      ) ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
      ActiveWorkbook.Worksheets(«Лист1″).Sort.SortFields.Add Key:=Range(» C2:C6 «), _
      SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
      With ActiveWorkbook.Worksheets(«Лист1»).Sort
      .SetRange Range(«A2:D6»)
      .Apply
      End With
      End Sub
      ‘————————————————
      Sub Макрос4()
      ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
      ActiveWorkbook.Worksheets(«Лист1″).Sort.SortFields.Add Key:=Range(» D2:D6 «), _
      SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
      With ActiveWorkbook.Worksheets(«Лист1»).Sort
      .SetRange Range(«A2:D6»)
      .Apply
      End With
      End Sub Примечание. Красным текстом отмечены отличающиеся параметры для каждого столбца.
    4. Назначаем каждой автофигуре свой макрос: для «Наименование» – Макрос1, а для «Май» – Макрос2 и т.д.

    Все теперь достаточно только кликнуть по заголовку и таблица отсортирует данные относительно определенного столбца. Для удобства столбец «Наименование» Макрос1 сортирует по возрастанию благодаря параметру Order:=xlAscending. Во всех остальных столбцах присвоены макросы (2,3,4) с параметром Order:=xlDescending, который задает тип сортировки по убыванию. Чтобы видно было, в каком месяце было больше продано товара.

    Примечание. Такие простые макросы можно создать в автоматическом режиме без программирования или без написания VBA-кода, с помощью инструмента «Запись макроса».

    Источник

    Создание макросов и их применение в Excel

    На этом занятии мы рассмотрим следующие вопросы:

    • Понятие макроса.

    • Запись простых макросов.

    • Выполнение макросов.

    • Редактирование макросов.

    • Назначение макроса графическим изображениям.

    • Удаление макросов из списка макросов.

    • Ограниченность макросов.

    Понятие макроса

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

    MacroRecorder — это стандартное средство записи макросов в Excel, посредством которого можно записывать последовательность действий пользователя и получать соответствующий код (программу) на VBA. Программа, созданная с помощью MacroRecorder, называется макросом.

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

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

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

    Макрос — это именованная последовательность заданных пользователем команд и действий, хранящаяся в форме программы на языке VBA.

    Запись макросов в приложении Excel

    Для работы с макросами в приложении Excel имеется специальная панель.

    Рис. 1. Панель для работы с макросами

    Для вызова этой панели необходимо выполнить последовательно команды меню: “Вид | Панель инструментов | Visual Basic”.

    Для записи макроса необходимо:

    1. Нажать на кнопку “Запись макроса” на панели Visual Basic.

    2. В диалоговом окне “Запись макроса” присвоить имя макросу. (В имени макроса первым символом должна быть буква, не допускается использование пробелов.)

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

    4. Нажать кнопку “Остановить запись”.

    Пример

    Рассмотрим процедуру записи последовательности действий на следующем примере: определим максимальное значение в выделенном диапазоне ячеек.

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

    Это действие в Excel можно выполнить с помощью стандартной функции МАКС, но мы продемонстрируем на этом примере, как сохранить последовательность действий пользователя и на их основе создать макрос.

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

    1. Откройте новую книгу.

    2. Создайте таблицу по приведенному образцу.

    3. В ячейке D10 наберите “Максимальная масса в граммах”. Курсор после набора текста может находиться в любой ячейке, кроме ячейки, в которой мы хотим получить результат. На панели Visual Basic нажмите на кнопку “Запись макроса”. Появится диалоговое окно “Запись макроса”:

    Рис. 2. Окно “Запись макроса”

    Введите вместо названия “Макрос1” название макроса “Алмаз” и нажмите “ОК”. На экране появится панель инструментов “Остановить запись”. Теперь все производимые нами действия будут записываться до тех пор, пока не будет нажата эта кнопка. Не выполняйте никаких лишних действий. Все ваши действия фиксируются и записываются.

    Установите курсор в ячейку E10. В этой ячейке должен появиться результат.

    4. Выполните команду “Вставка | Функция”. Появится диалоговое окно “Мастер функций”. В окне “Категории функций” выберите “Статистические”. Затем выберите функцию МАКС. Появится диалоговое окно, в первой строке которого необходимо указать диапазон, в котором мы будем искать максимальное значение, — E2:E9. Нажмите “ОК”.

    5. Щелкните на кнопке “Остановить запись” на панели Visual Basic. Запись макроса завершена.

    Выполнение макросов

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

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

    Рис. 3. Диалоговое окно функции МАКС

    Затем:

    1. Установите курсор в любую ячейку листа.

    2. Выполните команду “Сервис | Макрос | Макросы”. Появится диалоговое окно, показанное на рис. 4:

    Рис. 4. Диалоговое окно “Макрос”

    3. Выделите макрос “Алмаз” и щелкните по кнопке “Выполнить”. В ячейке E10 появится результат.

    Редактирование макросов

    Во время записи макроса Excel запоминает ваши действия и преобразует их в код VBA. Можно просмотреть полученный код и отредактировать его, если в этом есть необходимость. Для просмотра созданного макроса выполните команду “Сервис | Макрос | Макросы”. Появится уже знакомое диалоговое окно “Макрос”.

    Выделим макрос “Алмаз” и щелкнем по кнопке “Изменить”. Откроется окно редактора.

    Рис. 5. Использование редактора Visual Basic для просмотра 
    и редактирования кода VBA

    При записи макроса выполнялись всего два действия. Сначала мы установили курсор в ячейку E10. На языке VBA этому действию соответствует строка:

    Range(«E10»).Select

    Затем мы вызвали функцию МАКС и в качестве аргумента указали диапазон ячеек E2:E9:

    ActiveCell.FormulaR1C1 = «=MAX(R[-8]C:R[-1]C)»

    Полученный код можно редактировать непосредственно в редакторе Visual Basic. Изменим размер шрифта в ячейке E10 на 16:

    Range(«E10»).Font.Size = 16

    Можно также изменить цвет шрифта. Например, изменим цвет текста в ячейке на красный:

    Range(«E10»).Font.ColorIndex = 3.

    Значения, которые может принять свойство Font.ColorIndex, изменяются от 1 до 56.

    После внесенных изменений текст макроса стал следующим:

    Sub Алмаз()

    ‘ Алмаз Макрос

    Range(«E10»).Select

    ActiveCell.FormulaR1C1 = «=MAX(R[-8]C:R[-1]C)»

    Range(«E10»).Font.Size = 16

    Range(«E10»).Font.ColorIndex = 3

    End Sub

    Закройте окно редактора, вернитесь на лист Excel, удалите содержимое ячейки E10 и запустите макрос на выполнение.

    Назначение макроса графическим изображениям

    Разрабатывая приложение, надо думать о том, чтобы создать легкий и удобный интерфейс для выполнения задач автоматизации. Запуск макросов на выполнение посредством команд меню или кнопок на панели Visual Basic — не слишком удобный механизм для пользователей.

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

    Используя панель “Рисование”, нарисуем на листе любую автофигуру. Щелкнем правой кнопкой мыши на изображении и в открывшемся контекстном меню выберем команду “Назначить макрос”. Отобразится диалоговое окно “Назначить макрос объекту”. Затем необходимо выбрать макрос “Алмаз” и щелкнуть вне графического изображения, чтобы снять выделение с объекта.

    Теперь макрос “Алмаз” можно запустить посредством щелчка на автофигуре.

    Рис. 6. Автофигура и кнопка для запуска макроса

    Запустить макрос на выполнение можно и другим способом, использовав командную кнопку. Вставить командую кнопку непосредственно на рабочий лист Excel можно с помощью панели инструментов “Формы”. Затем необходимо назначить ей наш макрос.

    Удаление макросов из списка макросов

    Для того чтобы удалить макрос, надо:

    1. Выполнить команду “Сервис | Макрос | Макросы”. Появится уже знакомое диалоговое окно.

    2. Выделить макрос, подлежащий удалению, и щелкнуть по кнопке “Удалить”.

    3. Подтвердить выполнение операции в специальном окне, которое появится.

    Ограниченность макросов

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

    Эти ограничения приводят к необходимости создания программ на VBA.

    Практическая работа № 1 “Годовая температура”

    Порядок работы:

    1. Откройте Excel.

    2. Переименуйте “Лист1” в лист “Температура”.

    3. Составьте таблицу “Годовая температура”.

    4. В ячейку Е3 поместите значение среднегодовой температуры, рассчитав ее по формуле СРЗНАЧ(В3:D3).

    5. Запишите ваши действия в макрос, назвав его “СрГодТемп”.

    6. Привяжите макрос к графическому объекту (например, “Кнопка”):

    Отформатируйте кнопку и назначьте ей макрос “СрГодТемп”. 

    7. Справа от показателя температуры нарисуйте графический объект (кнопку) и назначьте ему макрос, который будет очищать содержимое ячейки Е3.

    8. Проверьте работу кнопок “Среднегодовая t” и “Очистить”.

    9. Самостоятельно выполните создание кнопок и макросов для подсчета и очистки:

      • Максимальной годовой температуры;

      • Минимальной годовой температуры;

      • Средней температуры по временам года (зимой, весной, летом, осенью);

      • Создайте кнопку “Очистить все” для очистки всех расчетов.

    Ваша работа должна выглядеть так, как показано:

    Практическая работа № 2 “Протяженность границ РФ”

    Порядок работы:

    1. Откройте Excel.

    2. Переименуйте “Лист2” в лист “Границы”.

    3. Составьте таблицу “Протяженность государственной границы РФ, км”.

    4. Начиная с ячейки F3, составьте таблицу вопросов и ответов:

    5. Справа от таблицы нарисуйте графические объекты, к которым привяжите макросы.

    6. Для расчетов используйте формулы:

    в ячейке H3: =СУММ(D3:D18);

    в ячейке H4: =СУММ(B3:B18);

    в ячейке H5: =СУММ(C3:C18);

    в ячейке H6: =МАКС(B3:D18);

    в ячейке H7: =МИН(B3:D18);

    в ячейке H8: =ЕСЛИ(H6=МАКС(H6:H7);B2;ЕСЛИ(H6=МАКС(C3:C18);C2;D2));

    в ячейке H9: =ЕСЛИ(H6=МИН(H6:H7);B2;ЕСЛИ(H6=МИН(C3:C18);C2;D2)).

    После привязки макросов к графическим объектам и их выполнения получим результат:

    7. Выполните последовательно команды меню “Сервис | Параметры | Вкладка | Вид” и установите параметры окна для просмотра формул .

    8. Вы увидите все формулы, которые можно было ранее посмотреть только в строке формул.

    9. Убрав флажок, восстановите прежнее состояние листа.

    10. Создайте макрос, который очистит содержимое ячеек H3–H9, и привяжите его к графическому объекту.

    11. Проверьте работоспособность всех макросов, привязанных к графическим объектам.

    Практическая работа № 3 “Воспроизводство населения России (%)”

    Порядок работы:

    1. Откройте Excel.

    2. Переименуйте “Лист3” в лист “Рождаемость”.

    3. Составьте таблицу “Воспроизводство населения России (%)”.

    4. Под таблицей выпишите вопросы и предусмотрите место для вывода ответов. Ответы должны выводиться при нажатии на графические объекты, к которым привязаны макросы.

    5. Ваш лист должен выглядеть так, как показано вверху справа.

    6. После записи макросов ВОПРОС и ОТВЕТ проверьте текст (“Сервис | Макрос | Макросы | Изменить”):

    Sub ВОПРОС()

    » ВОПРОС Макрос

    ‘ Макрос записан 17.12.2005

    Range(«F15»).Select

    ActiveCell.FormulaR1C1 = «=AVERAGE(R[–12]C[–4]:R[–11]C[–4])»

    Range(«F16»).Select

    ActiveCell.FormulaR1C1 = «=AVERAGE(R[–11]C[–4]:R[–5]C[–4])»

    Range(«F17»).Select

    ActiveCell.FormulaR1C1 = «=AVERAGE(R[–14]C[–3]:R[–13]C[–3])»

    Range(«F18»).Select

    ActiveCell.FormulaR1C1 = «=AVERAGE(R[–13]C[–3]:R[–7]C[–3])»

    Range(«F19»).Select

    ActiveCell.FormulaR1C1 = «=AVERAGE(R[–16]C[–2]:R[–15]C[–2])»

    Range(«F20»).Select

    ActiveCell.FormulaR1C1 = «=AVERAGE(R[–15]C[–2]:R[–9]C[–2])»

    Range(«F21»).Select

    ActiveCell.FormulaR1C1 = «=MIN(R[–18]C[–4]:R[–10]C[–4])»

    Range(«F22»).Select

    ActiveCell.FormulaR1C1 = «=MIN(R[–19]C[–3]:R[–11]C[–3])»

    Range(«F23»).Select

    ActiveCell.FormulaR1C1 = «=MIN(R[–20]C[–2]:R[–12]C[–2])»

    Range(«F24»).Select

    ActiveCell.FormulaR1C1 = «=MAX(R[–21]C[–4]:R[–13]C[–4])»

    Range(«F25»).Select

    ActiveCell.FormulaR1C1 = «=MAX(R[–22]C[–3]:R[–14]C[–3])»

    Range(«F26»).Select

    ActiveCell.FormulaR1C1 = «=MAX(R[–23]C[–2]:R[–15]C[–2])»

    End Sub

    Sub ОЧ()

    » ОЧ Макрос

    ‘ Макрос записан 17.12.2005 (*)

    ‘ Range(«F15:F26»).Select

    Selection.ClearContents

    End Sub

    7. Создайте макросы изменения цвета таблиц на зеленый и изменения шрифта на полужирный или курсив.

    8. Привяжите эти макросы к графическим объектам.

    Практическая работа № 4 “Количество осадков”

    Порядок работы:

    1. Откройте Excel.

    2. Переименуйте “Лист 4” в лист “Осадки”.

    3. Составьте таблицу “Количество осадков (мм)”.

    Таблица построена на основании наблюдений метеостанции города N.

    4. Определите для всей таблицы в целом:

    · Минимальное количество осадков, выпавшее за три года;

    · Суммарное количество осадков, выпавшее за три года;

    · Среднемесячное количество осадков по итогам трехлетних наблюдений;

    · Максимальное количество осадков, выпавшее за месяц, по итогам трехлетних наблюдений;

    · Количество засушливых месяцев за все 3 года, в которые выпало меньше 10 мм осадков;

    · Количество дождливых месяцев за все 3 года, в которые выпало больше 100 мм осадков.

    5. Результаты представьте в виде дополнительной таблицы. Для нахождения указанных значений создайте макросы. Привяжите созданные макросы к заранее подготовленным графическим объектам.

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

    7. Ваш лист должен выглядеть так, как показано справа.

    Основная таблица располагается в диапазоне B5–E18. Начиная с ячейки G5, находится дополнительная таблица вопросов и ответов (см. табл.).

    Ячейка C18 содержит формулу =СУММ(C6:C17);

    Ячейка D18 содержит формулу =СУММ(D6:D17);

    Ячейка E18 содержит формулу =СУММ(E6:E17);

    Подготовьте макрос для нахождения максимального и минимального количества осадков за 3 года. Привяжите созданный макрос к графическому объекту.

    Ячейка H6 содержит формулу =МАКС(C6:E17);

    Ячейка H7 содержит формулу =МИН(C6:E17);

    Подготовьте макрос для нахождения суммарного и среднемесячного количества осадков за 3 года. Привяжите созданный макрос к графическому объекту.

    Ячейка H8 содержит формулу =СУММ(C6:E17);

    Ячейка H9 содержит формулу =СРЗНАЧ(C6:E17);

    Подготовьте макрос для нахождения количества засушливых и дождливых месяцев за 3 года. Привяжите созданный макрос к графическому объекту.

    Ячейка H10 содержит формулу =СУММ(C6:E17);

    Ячейка H11 содержит формулу =СРЗНАЧ(C6:E17);

    Подготовьте макрос для очистки диапазона ячеек H5–H11. Привяжите созданный макрос к графическому объекту.

    Практическая работа № 5 “Работа с автоформой”

    Порядок работы:

    1. Откройте Excel.

    2. Переименуйте “Лист 5” в лист “Список класса”.

    3. Составьте таблицу и заполните первую строку:

    4. Подготовьте автоформу для заполнения таблицы:

    · Установить указатель мыши на заполненную таблицу;

    · Выполнить команду меню “Данные | Форма”. Появится форма, которую надо заполнить.

    5. Создайте макрос вызова автоформы и привяжите его к графическому объекту.

    6. Заполните таблицу:

    7. Создайте макрос сортировки таблицы по фамилии и имени (с помощью выделения диапазона ячеек В1–F16), привяжите его к геометрическому объекту.

    8. Создайте макрос сортировки по годам и фамилиям, привяжите его к геометрическому объекту.

    9. Создайте макрос (с привязкой к графическому объекту) изменения цвета и шрифта в диапазоне:

    · A1–F1 — полужирный шрифт, кегль 16, зеленый фон, буквы белые;

    · А2–А16 — розовый фон;

    · В2–В16 — голубой фон;

    · С2–С16 — серый фон;

    · D2–D16 — розовый фон;

    · E2–E16 — голубой фон;

    · F2–F16 — серый фон.

    10. Создайте макрос (с привязкой к графическому объекту) возврата в исходное состояние.

    11. Проверьте работу макросов.

    Практическая работа №6 “Преступления в сфере высоких технологий”

    Порядок работы:

    1. Откройте Excel.

    2. Переименуйте “Лист 6” в лист “Преступления”.

    3. Составьте таблицу “Преступления в сфере высоких технологий”.

    4. Определите для всей таблицы в целом:

    • Суммарное количество преступлений за 1998, 1999, 2000 и 2001 годы (заполните строку “Итого по преступлениям в сфере высоких технологий”);

    • Максимальное количество преступлений за 4 года;

    • Минимальное количество преступлений за 4 года;

    • Суммарное количество проникновений в чужие компьютерные сети за все 4 года;

    • Суммарное количество распространения вредоносных программ за все 4 года;

    • Суммарное количество нарушений работы ЭВМ и баз данных за все 4 года;

    • Год с наибольшим количеством преступлений по итоговому результату;

    • Год с наименьшим количеством преступлений по итоговому результату;

    • Наиболее распространенный вид преступных деяний.

    Результаты представьте в виде дополнительной таблицы.

    Литература

    1. Газета «Информатика» Издательского дома «Первое сентября» № 3 2006 г.

    Понравилась статья? Поделить с друзьями:
  • Как привязать кнопку макроса в excel
  • Как привязать картинку к ячейке в excel чтобы
  • Как привязать картинку к тексту в word
  • Как привязать значение к одной ячейке в excel
  • Как привязать значение к дате в excel