Как сделать кнопку в excel 2003?

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

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

Кнопка (элемент управления формы)

Командная кнопка (элемент ActiveX)

В следующих разделах приведены инструкции по добавлению макроса на кнопку в Excel (для Windows или Mac).

Примечание: Элементы ActiveX не поддерживаются на компьютере Mac.

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

Первый этап — включить его. Дополнительные сведения можно найти в статье: Отображение вкладки Разработчик.

Добавление кнопки (элемент управления формы)

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

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

Назначьте кнопку макроса, а затем нажмите кнопку ОК.

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

Кнопка «добавить команду» (элемент ActiveX)

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

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

В группе элементы управления нажмите кнопку Просмотреть код. Откроется редактор Visual Basic. Убедитесь в том, что выбран пункт в раскрывающемся списке справа. Процедура Sub CommandButton1_Click (на рисунке ниже) выполняет два макроса при нажатии кнопки: SelectC15 и хелломессаже.

В подпроцедуре для кнопки Command выполните одно из указанных ниже действий.

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

При необходимости добавьте собственный код VBA.

Закройте редактор Visual Basic и щелкните режим конструктора , чтобы включить режим конструктора.

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

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

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

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

Откроется диалоговое окно Свойства . Для получения дополнительных сведений о каждом свойстве выберите свойство и нажмите клавишу F1, чтобы отобразить соответствующий раздел справка по Visual Basic. Можно также ввести имя свойства в поле Поиск справки Visual Basic. В приведенной ниже таблице перечислены доступные свойства.

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

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

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

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

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

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

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

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

Теперь следует добавить конкретное действие. Пусть это будет переход на другой лист при нажатии на кнопку. Для этого кликаем по ней правой кнопкой мыши. В контекстном меню, которое активируется вслед за этим, выбираем позицию «Гиперссылка».

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

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

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

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

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

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

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

  • Открывается окно управление макросами. В нем нужно выделить тот макрос, который вы желаете применять при нажатии кнопки. Этот макрос должен быть уже записан в книге. Следует выделить его наименование и нажать на кнопку «OK».
  • Теперь при нажатии на объект будет запускаться выбранный макрос.

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

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

      Для того чтобы иметь возможность работать с элементами ActiveX, прежде всего, нужно активировать вкладку разработчика. Дело в том, что по умолчанию она отключена. Поэтому, если вы её до сих пор ещё не включили, то переходите во вкладку «Файл», а затем перемещайтесь в раздел «Параметры».

    В активировавшемся окне параметров перемещаемся в раздел «Настройка ленты». В правой части окна устанавливаем галочку около пункта «Разработчик», если она отсутствует. Далее выполняем щелчок по кнопке «OK» в нижней части окна. Теперь вкладка разработчика будет активирована в вашей версии Excel.

    После этого перемещаемся во вкладку «Разработчик». Щелкаем по кнопке «Вставить», расположенной на ленте в блоке инструментов «Элементы управления». В группе «Элементы ActiveX» кликаем по самому первому элементу, который имеет вид кнопки.

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

    Кликаем по получившемуся элементу двойным щелчком левой кнопки мыши.

  • Открывается окно редактора макросов. Сюда можно записать любой макрос, который вы хотите, чтобы исполнялся при нажатии на данный объект. Например, можно записать макрос преобразования текстового выражения в числовой формат, как на изображении ниже. После того, как макрос записан, жмем на кнопку закрытия окна в его правом верхнем углу.
  • Читать еще:  Как сделать чтобы excel подчеркивал ошибки?

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

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

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

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

    Объект появляется на листе. Корректируем его размеры и место расположения, как уже не раз делали ранее.

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

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Как вернуть меню в стиле Excel 2003 в версиях 2007 и старше

    С приходом в нашу жизнь нового Excel 2007 в неё также пришли не только свыше миллиона строк, почти неограниченное количество условий условного форматирования и еще куча новых возможностей, но и новый стиль. Притом не просто новый, а совершенно переработанный, незнакомый, неузнаваемый и запутывающий. Кто-то годами пользовался 2003 Excel и настолько привык к его интерфейсу, что новый стиль был воспринят не просто в штыки — многие из этих людей до сих пор пользуются 2003 практически только из-за нежелания переходить на новый стиль.
    Тем, кто боится перейти на новый интерфейс только по этой причине, а так же тем, кого мучает ностальгия по прежнему интерфейсу, могу предложить несложный код, который на вкладке «Надстройки» создает ряд меню, повторяющих старый добрый 2003.

    Option Explicit ‘————————————————————————————— ‘ Procedure : MakeMenu2003 ‘ Purpose : Процедура создания меню в стиле Excel 2003 ‘————————————————————————————— Sub MakeMenu2003() Dim arr, cbArr, cbName As String Dim cbMenu, cbStandart, cbFormat Dim lc As Long ‘Удаляем меню, если они уже созданы Call Del_Menu ‘создаем массивы для создания меню ‘имена cbArr = Array(«Меню 2003», «Стандартная 2003», «Форматирование 2003») ‘панель меню cbMenu = Array(«30002|10», «30003|10», «30004|10», «30005|10», «30006|10», «30007|10», «30011|10», «30009|10», «30022|10», «30177|10», «30010|10») ‘стандартная панель(основные иконки) cbStandart = Array(«2520|1», «23|1», «3|1», «9004|1», «3738|1», «2521|1», «109|1», «2|1», «7343|1», «21|1», «19|1», «108|1», «128|6», «129|6», «9071|1», «1576|1», «226|13», «210|1», «211|1», «436|1», «1733|4», «30253|10», «984|1») ‘панель форматов cbFormat = Array(«1728|4», «1731|4», «113|1», «114|1», «115|1», «120|1», «122|1», «121|1», «402|1», «1643|1», «396|1», «397|1», «398|1», «399|1», «3162|1», «3161|1») ‘объединяем в один массив для более простого вызова arr = Array(cbMenu, cbStandart, cbFormat) For lc = LBound(cbArr) To UBound(cbArr) CreateMenu (cbArr(lc)), arr(lc) Next lc End Sub Function CreateMenu(cbName As String, arr) Dim vType, vID, lc As Long Dim asSp On Error Resume Next With Application.CommandBars.Add(cbName, , , True).Controls For lc = LBound(arr) To UBound(arr) asSp = Split(arr(lc), «|») .Add Type:=Val(asSp(1)), ID:=Val(asSp(0)) Next End With ‘Делаем меню видимым Application.CommandBars(cbName).Visible = True End Function ‘————————————————————————————— ‘ Procedure : Del_Menu2003 ‘ Purpose : Процедура удаления ранее созданного меню Excel 2003 ‘————————————————————————————— Sub Del_Menu() On Error Resume Next Dim x For Each x In Array(«Меню 2003», «Стандартная 2003», «Форматирование 2003») Application.CommandBars(x).Delete Next End Sub

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

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

    Tips_All_MakeMenu2003.xls (61,5 KiB, 2 139 скачиваний)

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

    Поиск по меткам

    Дмитрий, я в шоке!
    Попытался «подпилить» макрос так, чтобы он создавал на ленте свою вкладку, а не вставлял группу на вкладку «Надстройки» и на ней — не только выпадающие менюшки, но и нужные мне группы и кнопки в них.
    Оказывается, в этом … Ribbon-интерфейсе объектов, создаваемых на ленте через XML (Tab, Group, Box, …), нет в VBA-модели! Или я просто не сумел к ним обратиться?

    Была у меня задумка макросом вместо не настраиваемых «родных» (встроенных) вкладок TabHome TabInsert TabPageLayoutExcel TabFormulas TabData TabReview TabView TabDeveloper TabAddIns TabPrintPreview сделать их копии, но уже настраиваемые, а не нужные вкладки скрыть, а коллекции «Вкладки» (наверное, Tabs) я в объектной модели не нашёл.
    Получается так, что полного управления интерфейсом в Excel-2010 через VBA нет. Только через XML что ли?

    Алексей, как ни прискорбно, но да — добавлять вкладки и управлять ими можно только через XML. VBA модель этого не предусматривает. В будущем Microsoft хочет VBA заменить на VSTO, насколько я знаю. Вот там, возможно, будет подобная возможность.

    Добрый день!
    1)Подскажите пожалуйста, как вам удалось закрепить ALT+буквы на кнопках в меню 2003, как я понял, Ексель2010 буквы назначает хаотично при добавлении новой кнопки?
    2) Что такое XML язык или какой то редактор?
    Хотелось бы в этом разобраться, ведь тем кто занимается вводом данных, каждый раз приходится сначала тянутся к мышке, затем «целиться» и только потом активировать нужную команду — за рабочий день «порядочно» набегает излишне потраченного времени и излишних действий.

    Поделитесь своим мнением

    Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме — добро пожаловать на Форум

    Горячие клавиши Excel — Самые необходимые варианты

    Горячие клавиши Excel способствуют более эффективной работе с программой.

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

    Наличие горячих клавиш облегчает работу пользователей. Им не приходится отвлекаться на нажатие кнопки на панели инструментов.

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

    Вычисление

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

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

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

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

    Список горячих клавиш и операторов, которые они вызывают:

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

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

    Форматирование

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

    Ввод данных

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

    Навигация и выделение

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

    Работа с файлами

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

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

    Также вам могут быть интересны такие статьи:

    • Формулы EXCEL с примерами — Инструкция по применению
    • Сводные таблицы Excel — Примеры создания
    • Округление в Excel — Пошаговая инструкция
    Читать еще:  Как в excel сделать котангенс?

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

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

    Меню выделения и поиска по документу

    Окно поиска с последующей заменой поможет сократить время на редактирование документа.

    Вызвать меню поиска можно с помощью сочетания горячих клавиш CTRL+F, как и в других программах пакета MS Office. Таки образом используется только клавиатура.

    Чтобы найти или заменить элементы, следуйте инструкции:

    • Нажмите CTRL+F или меню поиска на панели инструментов;
    • В открывшемся перейдите на вкладку поиска, если вам просто нужно найти объект или на вкладку «найти-заменить», если необходимо осуществить поиск в документе с последующей заменой найденных данных;

    Диалоговое окно «найти-заменить»

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

    12 способов для ускорения работы в Microsoft Excell

    №1. Копирование элементов

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

    Процесс быстрого копирования элементов одного столбца таблицы

    №2. Автоматическое определение необходимой ширины каждого столбца

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

    Способ выравнивания ширины столбца

    №3. Быстрое создание выпадающего списка в одной из ячеек

    Чтобы быстро создать такой список, следуйте инструкции:

  • Выберите область ячеек или одну ячейку;
  • На панели инструментов выберите вкладку Данные и в поле проверки выберите «Тип данных» и затем создайте список;
  • В диалоговом окне укажите координату ячейки, в которой будет расположен список.

    №4. Копирование элементов с сохранением форматирования

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

    Копирование без потери формата

    №5. Моментальный переход на новый лист документа

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

    Быстрое перемещение между листами книги

    №6. Создание умной таблицы

    Обычный список в таблице можно превратить в умную таблицу с помощью сочетания горячих клавиш CTRL+L.

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

    №7. Моментальное добавление информации на диаграмму

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

    Быстрое добавление ячеек в диаграмму

    №8. Автоматическое заполнение пустой ячейки (ячеек)

    Выделите необходимый диапазон и с помощью клавиши F5 выберите «пустые ячейки». Нажмите на клавиатуре на CTRL+Enter.

    №9. Копирование только тех ячеек, которые видимы

    Выделите ячейки (необходимый диапазон). С помощью комбинации клавиш ALT+; можно выделить видимые ячейки.

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

    Копирование данных в ячейке

    №10. Ввод недавно используемых функций

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

  • Выделите нужную ячейку и введите символ «=»;
  • Слева вверху окна откройте выпадающий список и выберите одну из недавно применяемых формул.

    Ввод последней формулы

    №11. Преобразование столбцов в строки и наоборот

    Скопируйте строку или столбец. Вставьте данные в нужное место с помощью комбинации клавиш CTRL+ALT+V.

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

    №12. Мгновенное копирование листов книги

    Чтобы выполнить копирование быстро нажмите на иконку листа и нажмите на клавишу CTRL.

    Видеоролики:

    Презентация Горячих клавиш при работе в Excel

    Горячие клавиши Excel — Самые необходимые варианты

    10 редкоиспользуемых сочетаний клавиш в Excel

    Рассматриваем малоизвестные, но очень полезные горячие сочетания клавиш в табличном процессоре MS Excel.

    Горячие клавиши. Введение

    В уроке рассказано про основы эффективной работы в excel — использование горячих клавиш.

    Создание макросов и пользовательских функций на VBA

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

    Макрос — это запрограммированная последовательность действий (программа, процедура), записанная на языке программирования Visual Basic for Applications (VBA). Мы можем запускать макрос сколько угодно раз, заставляя Excel выполнять последовательность любых нужных нам действий, которые нам не хочется выполнять вручную.

    В принципе, существует великое множество языков программирования (Pascal, Fortran, C++, C#, Java, ASP, PHP. ), но для всех программ пакета Microsoft Office стандартом является именно встроенный язык VBA. Команды этого языка понимает любое офисное приложение, будь то Excel, Word, Outlook или Access.

    Способ 1. Создание макросов в редакторе Visual Basic

    Для ввода команд и формирования программы, т.е. создания макроса необходимо открыть специальное окно — редактор программ на VBA, встроенный в Microsoft Excel.

    • В старых версиях (Excel 2003 и старше) для этого идем в меню Сервис — Макрос — Редактор Visual Basic(Toos — Macro — Visual Basic Editor).
    • В новых версиях (Excel 2007 и новее) для этого нужно сначала отобразить вкладку Разработчик (Developer) . Выбираем Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon) и включаем в правой части окна флажок Разработчик (Developer) . Теперь на появившейся вкладке нам будут доступны основные инструменты для работы с макросами, в том числе и нужная нам кнопка Редактор Visual Basic(Visual Basic Editor)

      :

    К сожалению, интерфейс редактора VBA и файлы справки не переводятся компанией Microsoft на русский язык, поэтому с английскими командами в меню и окнах придется смириться:

    Макросы (т.е. наборы команд на языке VBA) хранятся в программных модулях. В любой книге Excel мы можем создать любое количество программных модулей и разместить там наши макросы. Один модуль может содержать любое количество макросов. Доступ ко всем модулям осуществляется с помощью окна Project Explorer в левом верхнем углу редактора (если его не видно, нажмите CTRL+R). Программные модули бывают нескольких типов для разных ситуаций:

      Обычные модули — используются в большинстве случаев, когда речь идет о макросах. Для создания такого модуля выберите в меню Insert — Module. В появившееся окно нового пустого модуля можно вводить команды на VBA, набирая их с клавиатуры или копируя их из другого модуля, с этого сайта или еще откуда нибудь:

    Модуль Эта книга — также виден в левом верхнем углу редактора Visual Basic в окне, которое называется Project Explorer. В этот модуль обычно записываются макросы, которые должны выполнятся при наступлении каких-либо событий в книге (открытие или сохранение книги, печать файла и т.п.):

    Модуль листа — доступен через Project Explorer и через контекстное меню листа, т.е. правой кнопкой мыши по ярлычку листа — команда Исходный текст (View Source) . Сюда записывают макросы, которые должны выполняться при наступлении определенных событий на листе (изменение данных в ячейках, пересчет листа, копирование или удаление листа и т.д.)

    Читать еще:  Как в excel сделать 2 если?

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

    Давайте разберем приведенный выше в качестве примера макрос Zamena:

    • Любой макрос должен начинаться с оператора Sub, за которым идет имя макроса и список аргументов (входных значений) в скобках. Если аргументов нет, то скобки надо оставить пустыми.
    • Любой макрос должен заканчиваться оператором End Sub.
    • Все, что находится между Sub и End Sub — тело макроса, т.е. команды, которые будут выполняться при запуске макроса. В данном случае макрос выделяет ячейку заливает выделенных диапазон (Selection) желтым цветом (код = 6) и затем проходит в цикле по всем ячейкам, заменяя формулы на значения. В конце выводится окно сообщения (MsgBox).

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

    Способ 2. Запись макросов макрорекордером

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

    • Макрорекордер записывает только те действия, которые выполняются в пределах окна Microsoft Excel. Как только вы закрываете Excel или переключаетесь в другую программу — запись останавливается.
    • Макрорекордер может записать только те действия, для которых есть команды меню или кнопки в Excel. Программист же может написать макрос, который делает то, что Excel никогда не умел (сортировку по цвету, например или что-то подобное).
    • Если во время записи макроса макрорекордером вы ошиблись — ошибка будет записана. Однако смело можете давить на кнопку отмены последнего действия (Undo) — во время записи макроса макрорекордером она не просто возрвращает Вас в предыдущее состояние, но и стирает последнюю записанную команду на VBA.

    Чтобы включить запись необходимо:

    • в Excel 2003 и старше — выбрать в меню Сервис — Макрос — Начать запись(Tools — Macro — Record New Macro)
    • в Excel 2007 и новее — нажать кнопку Запись макроса (Record macro) на вкладке Разработчик (Developer)

    Затем необходимо настроить параметры записываемого макроса в окне Запись макроса:

    • Имя макроса — подойдет любое имя на русском или английском языке. Имя должно начинаться с буквы и не содержать пробелов и знаков препинания.
    • Сочетание клавиш — будет потом использоваться для быстрого запуска макроса. Если забудете сочетание или вообще его не введете, то макрос можно будет запустить через меню Сервис — Макрос — Макросы — Выполнить(Tools — Macro — Macros — Run) или с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или нажав ALT+F8.
    • Сохранить в. — здесь задается место, куда будет сохранен текст макроса, т.е. набор команд на VBA из которых и состоит макрос.:
      • Эта книга — макрос сохраняется в модуль текущей книги и, как следствие, будет выполнятся только пока эта книга открыта в Excel
      • Новая книга — макрос сохраняется в шаблон, на основе которого создается любая новая пустая книга в Excel, т.е. макрос будет содержаться во всех новых книгах, создаваемых на данном компьютере начиная с текущего момента
      • Личная книга макросов — это специальная книга Excel с именем Personal.xls, которая используется как хранилище макросов. Все макросы из Personal.xls загружаются в память при старте Excel и могут быть запущены в любой момент и в любой книге.

    После включения записи и выполнения действий, которые необходимо записать, запись можно остановить командой Остановить запись (Stop Recording) .

    Запуск и редактирование макросов

    Управление всеми доступными макросами производится в окне, которое можно открыть с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или — в старых версиях Excel — через меню Сервис — Макрос — Макросы (Tools — Macro — Macros) :

    • Любой выделенный в списке макрос можно запустить кнопкой Выполнить(Run) .
    • Кнопка Параметры(Options) позволяет посмотреть и отредактировать сочетание клавиш для быстрого запуска макроса.
    • Кнопка Изменить(Edit) открывает редактор Visual Basic (см. выше) и позволяет просмотреть и отредактировать текст макроса на VBA.

    Создание кнопки для запуска макросов

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

    Кнопка на панели инструментов в Excel 2003 и старше

    Откройте меню Сервис — Настройка (Tools — Customize) и перейдите на вкладку Команды (Commands) . В категории Макросы легко найти веселый желтый «колобок» — Настраиваемую кнопку (Custom button) :

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

    Кнопка на панели быстрого доступа в Excel 2007 и новее

    Щелкните правой кнопкой мыши по панели быстрого доступа в левом верхнем углу окна Excel и выберите команду Настройка панели быстрого доступа (Customise Quick Access Toolbar) :

    Затем в открывшемся окне выберите категорию Макросы и при помощи кнопки Добавить (Add) перенесите выбранный макрос в правую половину окна, т.е. на панель быстрого доступа:

    Кнопка на листе

    Этот способ подходит для любой версии Excel. Мы добавим кнопку запуска макроса прямо на рабочий лист, как графический объект. Для этого:

    • В Excel 2003 и старше — откройте панель инструментов Формы через меню Вид — Панели инструментов — Формы (View — Toolbars — Forms)
    • В Excel 2007 и новее — откройте выпадающий список Вставить (Insert) на вкладке Разработчик (Developer)

    Выберите объект Кнопка (Button) :

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

    Создание пользовательских функций на VBA

    Создание пользовательских функций или, как их иногда еще называют, UDF-функций (User Defined Functions) принципиально не отличается от создания макроса в обычном программном модуле. Разница только в том, что макрос выполняет последовательность действий с объектами книги (ячейками, формулами и значениями, листами, диаграммами и т.д.), а пользовательская функция — только с теми значениями, которые мы передадим ей как аргументы (исходные данные для расчета).

    Чтобы создать пользовательскую функцию для расчета, например, налога на добавленную стоимость (НДС) откроем редактор VBA, добавим новый модуль через меню Insert — Module и введем туда текст нашей функции:

    Обратите внимание, что в отличие от макросов функции имеют заголовок Function вместо Sub и непустой список аргументов (в нашем случае это Summa). После ввода кода наша функция становится доступна в обычном окне Мастера функций (Вставка — Функция) в категории Определенные пользователем (User Defined) :

    После выбора функции выделяем ячейки с аргументами (с суммой, для которой надо посчитать НДС) как в случае с обычной функцией:

  • Ссылка на основную публикацию
    Adblock
    detector