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

Как сделать оглавление, гиперссылки и кнопки в excel

Вставляем кнопки в панель быстрого доступа Excel

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

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

  1. Вариант №1: справа от панели нажать кнопку выпадающего меню «Настройка панели быстрого доступа», выбираете пункт «Другие команды…». Вариант №2: нажать ярлык «Файл», потом «Параметры» и в диалоговом окне слева выбрать «Панель быстрого доступа».
  2. В выпадающем списке «Выбрать команды из», установить пункт «Все команды»;
  3. Для списка «Настройка панели быстрого доступа» указываете пункт «Для всех документов (по умолчанию)»;
  4. В списке команд находите нужную, устанавливаете на нее курсор и кликнете кнопку «Добавить», выбранная кнопка перенесется в вашу панель. Повторите эту процедуру для всех нужных кнопок.

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

Пример 4

Следующая процедура «Sub» читает содержимое ячеек из колонки А другого листа, имеющего название «Sheet2» и с этими значениями осуществляет арифметические операции. Результат вычислений пишется в колонке А текущего листа.

Этот пример показывает:

  1. Как объявлять переменные.
  2. Объекты Excel.
  3. Цикл Do Until. 
  4. Доступ к листам электронных таблиц и диапазонам ячеек с текущей книги.

‘ Подпрограмма, запускающая цикл через значения в колонке А текущего листа

‘ «Sheet2», perform arithmetic operations on each value, and write the

‘ result into Column A of the current Active Worksheet («Sheet1»)

Sub Transfer_ColA()

Dim i As Integer

Dim Col As Range

Dim dVal As Double

‘ Установить переменную Col в колонку А листа 2

Set Col = Sheets(«Sheet2»).Columns(«A»)

i = 1

‘ Прохождение цикла через каждую ячейку колонки ‘Col’ до тех пор, пока

‘ не будет обнаружена пустая ячейка

Do Until IsEmpty(Col.Cells(i))

‘ Применение арифметических операций к значению текущей ячейки

dVal = Col.Cells(i).Value * 3 — 1

‘ Команда ниже копирует результат в колонку А

‘ текущего активного листа — без уточнения названия активного листа

Cells(i, 1) = dVal

i = i + 1

Loop

End Sub

Пример задачи для макроса

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

  1. У меня есть небольшая форма для заполнения с номерами товаров, их названием, серийным номером, датой.

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

  3. Дата тоже проставляется автоматически.

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

  5. На этом листе вся таблица повторяется по структуре, но пока она пустая, поскольку все будет переноситься автоматически при помощи макроса, о котором пойдет речь далее.

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Рекомендации по использованию макросов

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

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

Командная кнопка

CommandButton (командная кнопка) используется при активизации какой-либо операции (вызывает выполнение команды). Обладает свойствами Name, Left, Top, Height, Width, Enabled, Visible, TabStop, Tablndex, AutoSize, BackStyle, BackColor, ForeColor, Font. Является важным элементом управления в любом приложении и предназначен для инициирования пользователем некоторых действий в программе.

Свойство Caption (надпись) содержит отображаемый на командной кнопке текст.

Существуют следующие определяющие статус кнопки свойства:

  • • Cancel (отмена) — статус клавиши Esc. Имеет логический тип. При значении True нажатие клавиши Esc дает тот же эффект, что и щелчок мышью по кнопке. Данный статус может иметь только одна командная кнопка на форме;
  • • Default (по умолчанию) — статус клавиши Enter. Имеет логический тип. При значении True дает при нажатии клавиши Enter тот же эффект, что и щелчок мышью по кнопке (например, нажатие клавиши Enter эквивалентно щелчку мышью по кнопке ОК диалогового окна). Данный статус может иметь только одна командная кнопка на форме;
  • • Accelerator — символ акселератор, позволяющий назначить кнопке клавишу быстрого доступа. Если свойство не пусто, то вместо мыши для нажатия кнопки пользователь может использовать одновременное нажатие клавиши Alt и данного символа-акселератора.

Командная кнопка реагирует па рассмотренные в подпараграфах 6.1.2 и 6.3.2 события: Enter (получение фокуса), Exit (потеря фокуса) и события мыши и клавиатуры. Основным событием для кнопки является событие Click (щелчок), который эмулирует нажатие на командную кнопку.

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

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

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

  1. Разверните меню «Вставка» и нажмите по пункту «Рисунок».

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

  3. Расположите рисунок на листе, щелкните по трем точкам справа от него и выберите «Назначить скрипт».

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

  5. Теперь кликните по картинке ЛКМ и убедитесь в том, что скрипт был успешно выполнен (на экране появится соответствующее уведомление).

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

Что такое гиперссылка в Excel

Гиперссылка Excel — это ссылка на определенное место, документ или веб-страницу, на которую пользователь может перейти, кликнув по ней.

Microsoft Excel позволяет создавать гиперссылки для различных целей, включая:

  • Переход к определенному месту в текущей рабочей книге
  • Открытие другого документа или переход к определенному месту в этом документе, например листу в файле Excel или закладке в документе Word
  • Переход на веб-страницу в Интернете
  • Создание нового файла Excel
  • Отправка письма на указанный адрес

Гиперссылки в Excel легко узнаваемы — обычно это текст, выделенный подчеркиванием и синим цветом.

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

Как изменить внешний вид гиперссылки

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

  1. Перейдите в группу Стили на вкладке ГЛАВНАЯ .
  2. Откройте список «Стили ячеек».
  3. Щелкните правой кнопкой мыши на кнопке «Гиперссылка», чтобы изменить внешний вид. Или щелкните правой кнопкой мыши на «Открывавшаяся гиперссылка», если нужно изменить вид ссылок, по которым уже переходили.
  4. Выберите опцию «Изменить» в контекстном меню.

  1. Нажмите «Формат» в диалоговом окне «Стили».
  2. Внесите необходимые изменения в диалоговом окне «Формат ячеек». Здесь вы можете изменить выравнивание и шрифт гиперссылки или добавить цвет заливки.
  3. Когда вы закончите, нажмите OK.
  4. Убедитесь, что все изменения отмечены в разделе «Стиль включает» в диалоговом окне «Стиль».
  5. Нажмите ОК.

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

Гиперссылка для создания сообщения электронной почты

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

  1. В разделе «Связать с» выберите значокЭлектронная почта
  2. В поле Адрес электронной почты введите адрес почты получателя или несколько адресов, разделенных точкой с запятой. Кстати, «mailto:» вводить не нужно, Excel сам подставит этот префикс.
  3. При желании введите тему сообщения в поле Тема. Имейте в виду, что некоторые браузеры и почтовые клиенты могут не распознавать строку темы.
  4. В поле Текст введите нужный текст ссылки.
  5. При необходимости нажмите кнопку «Подсказка…» и введите нужный текст (подсказка будет отображаться при наведении указателя мыши на гиперссылку).
  6. Нажмите «ОК».

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

Как взять значение из другого листа в Excel?

Ссылка на лист, отделенная от ссылки на диапазон значений.

  1. Щелкните ячейку, в которую нужно ввести формулу.
  2. В строка формул введите = (знак равенства) и формулу, которую нужно использовать.
  3. Щелкните ярлычок листа, на который нужно сослаться.
  4. Выделите ячейку или диапазон ячеек, на которые нужно сослаться.

Как связать данные расположенные на разных листах Excel?

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

Как перенести данные из одного листа в другой Excel?

Копирование листа в одной книге

  1. Щелкните ярлычок листа правой кнопкой мыши и выберите команду Переместить или скопировать.
  2. Установите флажок Создать копию.
  3. В разделе перед листом укажите, куда вы хотите поместить копию.
  4. Нажмите кнопку ОК.

Как в Excel получить данные из другого файла?

Подключение к другой книге

  1. На вкладке Данные щелкните Получить данные > Из файла > Из книги . …
  2. Найдите книгу в окне Импорт данных .
  3. В окне Навигатор выберите таблицу или лист, которые вы хотите импортировать, а затем нажмите кнопку Загрузить или Изменить .

Можно ли задать в формуле ссылку на ячейку расположенную в другой рабочей книге?

Вы можете ссылаться на содержимое ячеек в другой книге, создав формулу внешней ссылки. Внешняя ссылка (также называемая ссылкой) — это ссылка на ячейку или диапазон на книге Excel или ссылка на определенное имя в другой книге.

Как в Формуле сделать ссылку на другой лист?

Создаем ссылку в Excel на другой лист

  1. Найдите ячейку, на которую хотите сослаться, и запомните, где она находится. …
  2. Перейдите к нужному листу. …
  3. Выбранный лист откроется.
  4. Найдите и выделите ячейку, в которой должно появиться значение. …
  5. Введите знак равенства (=), название листа с восклицательным знаком(!)

Как ссылаться на данные с другого листа Гугл таблицы?

Выберите или создайте таблицу. Выделите ячейку. Введите =, затем название листа, восклицательный знак и номер копируемой ячейки, например =Sheet1! A1 или =’Sheet number two’!

Как связать между собой два документа Excel?

Как объединить данные из листов c одинаковым именем на одном сводном листе

  1. Нажмите кнопку Объединить листы …
  2. Отметьте флажком Таблицы с заголовками если это так. …
  3. Выберите листы для объединения, установив соответствующие флажки в дереве данных. …
  4. Нажмите кнопку Объединить

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

Смысл способа в следующем:

Необходимо открыть вкладку «Power Query». В разделе «Данные Excel» нажимаем кнопку (пиктограмму) «Из таблицы». Далее нужно выбрать диапазон ячеек, из которых нужно «притянуть» информацию и нажимаем «Ок». После выбора области данных появится окно настройки вида новой таблицы.

Как сделать несколько копий одного листа в Excel?

Перейти на вкладку VBA-Excel на ленте. Запустить Диспетчер листов.…Запустить Диспетчер листов.

  1. Выбрать листы, которые необходимо скопировать (можно выбирать более 1 листа).
  2. Нажать команду Копировать листы.
  3. В открывшемся диалоговом окне выберите место в которое необходимо скопировать листы и их количество.

Как подтянуть данные из одной таблицы в другую Гугл таблицы?

Как импортировать данные из другой таблицы

  1. Откройте файл в Таблицах.
  2. В пустой ячейке введите =IMPORTRANGE.
  3. Укажите в скобках следующие параметры через запятую, заключив их в кавычки: URL таблицы в Таблицах; название листа (необязательно) и диапазон импортируемых ячеек.
  4. Нажмите Ввод.
  5. Нажмите Открыть доступ, чтобы связать таблицы.

Как связать две таблицы в Excel?

В окне Управление связями нажмите кнопку Создать. В окне Создание связи щелкните стрелку рядом с полем Таблица и выберите таблицу из раскрывающегося списка. В связи «один ко многим» эта таблица должна быть частью с несколькими элементами.

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

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

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

  • активировать режим дизайна (находится во вкладке «Разработчик»);
  • двойной щелчок по созданной кнопке: откроется режим Visual Basic с автоматически созданным пустым каркасом;
  • мы вставляем команду между двумя строками для вызова макроса.

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

Написание макросов в Excel

Код макроса Excel написанный на языке Visual Basic for Application (VBA), а его выполняет инструмент приложения, к которому он присоединен. Большинство этих инструментов не доступно на уровне окна программы Excel. Как написать макрос.

Теперь продемонстрируем на примере информацию о том, как писать, редактировать и выполнять код макроса.

Чтобы написать макрос:

  1. Откройте рабочую книгу Excel, в которой необходимо использовать макрос: «РАЗРАБОТЧИК»-«Код»-«Visual Basic». Или нажмите комбинацию горячих клавиш ALT+F11.

Перед началом работы в редакторе следует сделать простую настройку. Выберите инструмент в редакторе Visual Basic: «Tools»-«Options». И на вкладке «Editor» активируйте опцию «Require Variable Declaration». Это позволит реализовать автоматическое заполнение инструкций Options Explicit в начале каждого ново созданного кода. А в поле ввода «Tab Width:» укажите значение 2 вместо 4-х. Это позволит уменьшить ширину кода. Данная настройка редактора распространяется на все листы, но в границах одной рабочей книги.

Выберите инструмент: «Insert»-«Module» чтобы создать новый стандартный модуль для макросов. В появившемся окне модуля под текстом Option Explicit введите следующий код макроса:

Нажмите на кнопку в редакторе «Run Macro» или клавишу F5 на клавиатуре. В появившемся окне «Macros» нажмите на кнопку «Run», чтобы посмотреть результат работы макроса.

Примечание. Если в главном меню отсутствует закладка «РАЗРАБОТЧИК», тогда ее необходимо активировать в настройках: «ФАЙЛ»-«Параметры»-«Настроить ленту». В правом списке «Основные вкладки:» активируйте галочкой опцию «Разработчик» и нажмите на кнопку ОК.

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

Чтобы автоматизировать создание гиперссылки на ваших листах, вы можете использовать этот простой код VBA:

Где:

  • Sheets — имя листа, на который должна быть вставлена ​​ссылка (в данном примере Sheet1).
  • Range — ячейка, в которую следует вставить ссылку (в данном примере A1).
  • SubAddress — место назначения ссылки, т.е. куда должна указывать гиперссылка (в данном примере Sheet3!B5).
  • TextToDisplay — текст, который будет отображаться в ячейке (в данном примере — «Моя гиперссылка»).

Этот макрос вставит гиперссылку под названием «Моя гиперссылка» в ячейку A1 на листе Sheet1 в активной книге. Нажав на ссылку, вы перейдете к ячейке B5 на листе 3 в той же книге.

Как сделать кнопку сортировки в 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 WithEnd 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 WithEnd 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 WithEnd 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 WithEnd SubПримечание. Красным текстом отмечены отличающиеся параметры для каждого столбца.Назначаем каждой автофигуре свой макрос: для «Наименование» – Макрос1, а для «Май» – Макрос2 и т.д.

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

Скачать пример кнопки сортировки

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

9 ответов

1. Как раз DoEvents ща смотрю, надежд пока мало (событие Click там не любят или спец. скрывают. )

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

Прикольно. Спасибо за совет – DoEvents – заработал.

Я его понаставлял в разные куски макроса, как раз где у меня FormWait.Repaint обновляется (чтобы значение ProgressBar увеличить и текст того чем он щас занимается обновить). А работает он следующим образом, когда нажимаешь на кнопку “Прервать”, то событие до нее дойдет, как только в макросе повстречает DoEvents. (когда промежуток между соседними DoEvents большой, то получается так – на кнопку жмешь. ничего не происходит, кнопка не шевелится, потом через 5-10 сек раз и полезло то, что на кнопке висело..) Весело вообщем.

А для того, чтобы после нажатие кнопки “Прервать” выполнение макроса прекратить, я лучше ничего не нашел, как сделать это так:

Private Sub ButCancel_Click() Dim Response Response = MsgBox(“Вы точно хотите прервать работу макроса?”, vbQuestion + vbOKOnly + vbOKCancel, “Внимание!”) If Response = 1 Then Unload FormWaitMyModule.blnBreak = True Else End If End Sub

А в макросе, после каждого DoEvents сделать проверку, что-нибудт типа такого: If blnBreak Then Exit Sub

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

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

Чтобы остановить – попробуй End

Просто я хотел свой код, относящийся к форме, максимально, как это сказать-то . инкапсулировать. Т.е. есть форма (один файл), включил ее в проект, перенес на другой комп, переслал другому человеку, и не надо потом долго объяснять за какие переменные там дергать, за чем следить, че проверять и вызывать. А делать с этой формой особенного ничего и не надо, показал/скрыл ее, значения на ProgressBar обновил (ну и на подписях). Для последнего я включил в модуль формы такую функцию:

Public Sub ShowFormWait(progValue As Double, textProc As String, TextFile As String)

Примеры кода VBA Excel с кнопкой

Изначально для реализации примеров на пользовательскую форму UserForm1 добавлена кнопка CommandButton1.

Условие примера 1

  • Действия при загрузке формы: замена заголовка формы по умолчанию на «Пример 1», замена надписи кнопки по умолчанию на «Кнопка», запись цвета кнопки по умолчанию в переменную уровня модуля.
  • Сделать, чтобы при наведении курсора на кнопку, она изменяла цвет на зеленый, а надпись «Кнопка» менялась на надпись «Нажми!»
  • Добавление кода VBA Excel, который будет при удалении курсора с кнопки возвращать ей первоначальные настройки: цвет по умолчанию и надпись «Кнопка».

Решение примера 1

1. Объявляем в разделе Declarations модуля пользовательской формы (в самом начале модуля, до процедур) переменную myColor:

Создать макрос в Excel с помощью макрорекордера

Для начала проясним, что собой представляет макрорекордер и при чём тут макрос.

Макрорекордер – это вшитая в Excel небольшая программка, которая интерпретирует любое действие пользователя в кодах языка программирования VBA и записывает в программный модуль команды, которые получились в процессе работы. То есть, если мы при включенном макрорекордере, создадим нужный нам ежедневный отчёт, то макрорекордер всё запишет в своих командах пошагово и как итог создаст макрос, который будет создавать ежедневный отчёт автоматически.

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

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

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

  • в версии Excel от 2007 и к более новым вам нужно на вкладке «Разработчик» нажать кнопочку «Запись макроса»>;>
  • в версиях Excel от 2003 и к более старым (они еще очень часто используются) вам нужно в меню «Сервис» выбрать пункт «Макрос» и нажать кнопку «Начать запись».

Следующим шагом в работе с макрорекордером станет настройка его параметров для дальнейшей записи макроса, это можно произвести в окне «Запись макроса», где:

  • поле «Имя макроса» — можете прописать понятное вам имя на любом языке, но должно начинаться с буквы и не содержать в себе знаком препинания и пробелы;
  • поле «Сочетание клавиш» — будет вами использоваться, в дальнейшем, для быстрого старта вашего макроса. В случае, когда вам нужно будет прописать новое сочетание горячих клавиш, то эта возможность будет доступна в меню «Сервис» — «Макрос» — «Макросы» — «Выполнить» или же на вкладке «Разработчик» нажав кнопочку «Макросы»>;
  • поле «Сохранить в…» — вы можете задать то место, куда будет сохранен (но не послан) текст макроса, а это 3 варианта:
    • «Эта книга» — макрос будет записан в модуль текущей книги и сможет быть выполнен только в случае, когда данная книга Excel будет открыта;
    • «Новая книга» — макрос будет сохранен в тот шаблон, на основе которого в Excel создается пустая новая книга, а это значит, что макрос станет доступен во всех книгах, которые будут создаваться на этом компьютере с этого момента;
    • «Личная книга макросов» — является специальной книгой макросов Excel, которая называется «Personal.xls» и используется как специальное хранилище-библиотека макросов. При старте макросы из книги «Personal.xls» загружаются в память и могут быть запущены в любой книге в любой момент.
  • поле «Описание» — здесь вы можете описать, что и как должен делать макрос, для чего он создавался и какие функции несет, это чисто информативное поле, что называется на память.

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

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

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

Кнопки в Эксель

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

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

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

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

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

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

ToggleButton

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

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

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

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

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

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

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

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

В режиме конструктора свойства кнопки можно менять и перемещать ее по листу. Вне режима конструктора кнопка просто выполняет свою функцию – нажимается.

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

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

CommandButton:

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

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

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

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

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

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

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

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

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

ToggleButton:

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

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

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

Похожее:

  1. Шапка таблицы на каждом листе для распечатки на принтере.Установка шапки таблицы на каждом листе для.
  2. Проверка правописания в таблице Excel или как искать ошибкиКак проверить правописание в «Excel». Найти орфографические.
  3. Как убрать ссылку в «Excel». Удаление гиперссылки.Как убрать ссылку в «Excel». Удаление гиперссылки.

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

Понравилась статья? Поделиться с друзьями:
Самоучитель Брин Гвелл
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: