Хитрости »
11 Август 2014 95568 просмотров
Как создать свою надстройку?
В этой статье:
- Что такое надстройка
- Как создать надстройку
- Создание собственного меню надстройки для версий Excel 2003
- Создание собственного меню надстройки для версий 2007 и выше
ЧТО ТАКОЕ НАДСТРОЙКА
Для начала разберемся — что такое надстройка и для чего она нужна.
Надстройка
— это файл Excel, имеющий расширение .xla или .xlam(только для 2007 и выше), который по умолчанию открывается как скрытая рабочая книга и может быть подключен к приложению для автоматического запуска вместе с запуском самого приложения. Книга надстройки открывается, но в списке видимых открытых файлов не значится, поэтому нет смысла её там искать. Отобразить такую книгу возможно только кодом.
Есть также и другие виды надстроек — надстройки COM и XLL-надстройки. Но о них я не буду рассказывать, т.к. они разрабатываются не в VBA, а в иных средах программирования
Как правило надстройки используют для распространения программного кода, который будет доступен для любой книги Excel. Т.к. надстройка запускается вместе с приложением — очень удобно хранить в ней коды. Можно создать меню для запуска процедур(об этом ниже) и функции пользователя — созданные в надстройке они доступны в любой открытой книге Excel без ссылок на другую книгу, что несомненно очень удобно. Функции пользователя, прописанные в надстройке для Excel 2007 и выше так же доступны по вводимым начальным символам:
и после нажатия TAB имя функции будет вставлено в ячейку.
Кроме модулей с кодами надстройки могут содержать и таблицы данных и диаграммы и все, что можно хранить в обычной книге. Но учитывая то, что книга скрыта — особого смысла в этих данных нет, если только не предполагается использовать эти данные в качестве шаблонов для создания определенных отчетов из надстройки. Часто на листах надстроек хранят константы для работы кода, если по каким-либо причинам не хочется использовать константы внутри кода VBA. Данные в ячейках файла надстройки можно изменять во время работы, но я не рекомендую сохранять открытый и исполняемый в данный момент файл надстройки, во избежание конфликтов.
КАК СОЗДАТЬ НАДСТРОЙКУ
Создать надстройку просто: из любого файла Excel идете в меню:
- Excel 2010 и новее: Файл (File)—Сохранить как (Save As)-Из выпадающего списка «Тип файла» выбрать Надстройка Excel(.xlam) (Excel Add-In(.xlam)) или Надстройка Excel 97-2003(.xla) (Excel 97-2003 Add-In(.xla)).
- Excel 2007: Кнопка Офис—Сохранить как (Save As)-Из выпадающего списка «Тип файла» выбрать Надстройка Excel(.xlam) (Excel Add-In(.xlam)) или Надстройка Excel 97-2003(.xla) (Excel 97-2003 Add-In(.xla)).
- Excel 2003: Меню—Сохранить как-Из выпадающего списка «Тип файла» выбрать «Надстройка Excel(.xla)«.
Однако рекомендую не спешить с сохранением файла как надстройки. Сначала следует весь функционал, закладываемый в надстройку, потестировать, отладить и удостовериться, что все работает как предполагалось. Т.к. после сохранения файла как надстройки и открытия надстройки в Excel — закрыть её можно будет только закрыв Excel полностью(конечно, можно еще воспользоваться кодом вроде Workbooks("MyAddin.xla").Close
, но это не очень удобно в разработке).
Если все же сохранили файл как надстройку, но хотите что-то изменить в книге(удалить лишние листы, изменить информацию на листах(часто так делается для хранения настроек) и т.п.) — то надо в редакторе VBA найти проект надстройки, перейти в свойства модуля ЭтаКнига(или ThisWorkbook) и выставить IsAddin = False. Книга отобразиться. Далее надо будет вернуть свойство IsAddin в True и сохранить проект
Так же следует заранее выбрать формат надстройки — для версий Excel 97-2003(.xla) и или только от 2007(.xlam) и выше. Надстройки .xla работают во всех версиях Excel, в том числе и в 2007 и выше. Это, пожалуй, единственное их преимущество перед форматом .xlam. Т.к. при этом все меню, которые будут созданы для вызова кодов, в версиях от 2007 и выше будут располагаться на вкладке «Надстройки» и будут иметь минимум настроек: нет возможности изменить размер значка; разбить на группы; сделать красивые подсказки; расположить в два ряда и т.п.
Для формата .xlam доступен более широкий ассортимент: они могут так же создать меню на вкладке «Надстройки», а могут и создавать собственные вкладки(через XML-схемы), команды на которых можно расположить в соответствии со всеми красивостями и достоинствами оформления, которое можно наблюдать в Ribbon-панелях Excel 2007 и выше.
Дальше я как раз более подробно расскажу про оба метода создания меню.
Я покажу создание надстроек на примере простого кода, который будет записывать в активную ячейку текущего листа число 10, закрасит ячейку красным цветом и установит для ячейки границы.
Код этой процедуры:
'--------------------------------------------------------------------------------------- ' Procedure : Test ' DateTime : 11.08.2014 12:08 ' Author : The_Prist(Щербаков Дмитрий) ' http://www.excel-vba.ru ' Purpose : Записываем в активную ячейку число 10 ' красим в красный цвет заливку ' устанавливаем границы '--------------------------------------------------------------------------------------- Sub Test() With ActiveCell .Value = 10 .Interior.Color = vbRed .Borders.Color = vbBlack End With End Sub
Важно: Код помещается в стандартный модуль книги, из которой хотите сделать надстройку.
СОЗДАНИЕ СОБСТВЕННОГО МЕНЮ НАДСТРОЙКИ ДЛЯ ВЕРСИЙ EXCEL 2003
Примерный вид данного меню в Excel 2003:
Примерный вид меню в Excel 2007 и выше:
Собственно, меню, совместимое со всеми версиями Excel делается исключительно на уровне VBA следующим кодом:
'--------------------------------------------------------------------------------------- ' Module : ЭтаКнига ' DateTime : 11.08.2014 12:13 ' Author : The_Prist(Щербаков Дмитрий) ' http://www.excel-vba.ru ' Purpose : '--------------------------------------------------------------------------------------- Option Explicit 'константа уровня модуля - имя меню 'Обязательно задать, чтобы можно было идентифицировать Const sMenuBarName As String = "Test Addin www.Excel-VBA.ru" '--------------------------------------------------------------------------------------- ' Procedure : Workbook_BeforeClose ' Purpose : Процедура выполняется перед закрытием книги ' удаляем созданное меню после закрытия надстройки '--------------------------------------------------------------------------------------- Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next ' обработчик ошибки нужен, если меню такого нет 'удаляем меню, для исключения дублирования меню при повторном запуске Application.CommandBars(sMenuBarName).Delete End Sub '--------------------------------------------------------------------------------------- ' Procedure : Workbook_Open ' DateTime : 11.08.2014 12:39 ' Author : The_Prist(Щербаков Дмитрий) ' http://www.excel-vba.ru ' Purpose : Процедура создания меню ' как отдельная панель для 2003 ' на вкладке "Надстройки" для 2007 и выше '--------------------------------------------------------------------------------------- Private Sub Workbook_Open() On Error Resume Next ' обработчик ошибки нужен, если меню такого нет 'удаляем меню, для исключения дублирования меню при повторном запуске Application.CommandBars(sMenuBarName).Delete On Error GoTo 0 'добавляем меню With Application.CommandBars.Add(sMenuBarName, temporary:=True) 'добавляем новую кнопку With .Controls.Add(Type:=1) 'добавляем обычную кнопку на панель 'отображаемый текст кнопки .Caption = "ИЗМЕНИТЬ СВОЙСТВА АКТИВНОЙ ЯЧЕЙКИ" 'стиль кнопки 'доступные стили: '1 - только значок(16x16) '2 - только текст '3 - картинка и текст .Style = 3 'назначаем картинку из набора офиса 'посмотреть доступные можно: http://www.excel-vba.ru/general/moi-nadstrojki/panel-ikonok-faceid/ .FaceId = 2 'имя процедуры, которая будет выполнена при нажатии кнопки .OnAction = "Test" End With 'делаем меню видимым .Visible = True End With End Sub
Основные моменты я постарался расписать в комментариях, но на некоторых все же хочу заострить внимание.
- Свойство Type
.Controls.Add(Type:=1)
Наверное, самое важное свойство. Оно отвечает за тип элемента меню. Доступно всего пять типов:- 1 — Button(обычная кнопка)
- 2 — TextBox(текстовое поле с возможностью записи в него значений и считывания значений из него)
- 3 — List(выпадающий список с заранее заданным списком значений)
- 4 — ComboBox(выпадающий список с возможностью записи в поле произвольного значения)
- 10 — PopupMenu(выпадающее меню с возможностью добавления новых элементов)
- Свойство Style
.Style = 3
данное свойство управляет видом кнопки. Доступные стили:- 1 — только значок(16×16). Необходимо указывать свойство FaceID
- 2 — только текст. Свойство FaceId может быть указано, но никак не влияет на внешний вид кнопки
- 3 — картинка и текст. Обязательно указывать хотя бы одно из свойств: Caption или FaceID
Если хотите отобразить просто значок или значок вместе с текстом — то столкнетесь с проблемой выбора значка. Поэтому я давно создал надстройку, которая позволяет просмотреть все ID всех доступных значков офиса: Панель иконок FaceID.
Так же можно и свои значки создавать, однако я не буду здесь затрагивать эту тему, т.к. получится запутанно и обширно. Если кратко: необходимо создать свой значок размером 16×16, с расширением .gif. Затем создать копию иконки и предполагаемые непрозрачные области закрасить черным, а прозрачные — белым. Эту копию необходимо задать для свойства .Mask - Свойство OnAction:
.OnAction = «Test»
Данная строка отвечает за назначение процедуры, которая будет выполнена после нажатия на кнопку(в случае с ComboBox и TextBox — изменение значения. Вызван код будет после выхода из режима редактирования элемента). Test — это имя процедуры. Её я привел выше и именно она будет выполнена при нажатии на эту кнопку.
Иногда возникает вопрос: как сделать на такой панели ToggleButton? Т.е. кнопку, которая при нажатии остается в нажатом состоянии, а при повторном нажатии — в отжатом(т.е. в обычном). В данном случае это возможно исключительно через «финты» вызываемой по нажатию кнопки процедуры:
Sub Add_CmBar() With Application.CommandBars.Add("Test ToggleButton", temporary:=True) With .Controls.Add(Type:=1) .Caption = "ToggleButton" .Style = 2 .OnAction = "Emulate_Toggle" End With .Visible = True End With End Sub 'процедура, которая выполняется при нажатии кнопки "ToggleButton". Меняет видимое состояние кнопки. Sub Emulate_Toggle() Dim bt As CommandBarButton Set bt = Application.CommandBars.ActionControl 'проверяем текущее состояние кнопки. 'если нажата - отжимаем, если отжата - нажимаем If bt.State = msoButtonDown Then bt.State = msoButtonUp Else bt.State = msoButtonDown End If End Sub
Еще одна проблема при разработке таких панелей: невозможность явно указать кнопку в стиле Caption(т.е. неактивную к нажатию кнопку). Это тоже можно сделать при помощи обычной Button, только в свойствах кнопки надо свойство Enabled установить в False:
.Enabled = False
при этом обязательно необходимо указать Style 2 и назначить Caption.
Положение CommandBar на панели
Так же у объекта CommandBar есть такие свойства как .Left(положение относительно левого края окна Excel) и .Top(положение относительно верхнего края окна Excel), которые задают положение строки меню на панели. Но они мало актуальны для версий 2007 и выше, т.к. там для таких панелей отведена отдельная вкладка и все они помещаются на ней в том порядке, в котором были на неё добавлены. По умолчанию, если данные свойства не заданы — в 2003 Excel панель создается плавающая и пользователь может переместить её в любое удобное для него место. Если же они указаны, то панель будет расположена в заданных координатах относительно окна Excel.
Во вложении ниже пример надстройки с открытым кодом. Но в примере код расширен — там я привел коды с использованием всех типов элементов: и кнопки, и эмуляция ToggleButton, и списки, и текстбокс и выпадающее меню с доп.кнопками. В кодах есть комментарии, поэтому при желании разобраться не составит труда.
Так же можно при запуске надстройки добавлять в контекстное меню(меню, появляющееся по правому клику мыши на ячейке) свои команды. По сути мало что меняется, кроме пары вещей:
- надо указывать конкретное имя меню, в которое добавляем некую кнопку. Для контекстного меню ячеек это «Cell»:
Application.CommandBars(«Cell») - лучше указывать положение элемента относительно уже существующих в меню. Делает это при помощи указания параметров before или after:
Application.CommandBars(«Cell»).Controls.Add(Type:=1, before:=4)
При этом добавить можно как собственные кнопки, так и уже существующие. Для примера добавим одной кнопкой дубль нашей команды с лены «ИЗМЕНИТЬ СВОЙСТВА АТИВНОЙ ЯЧЕЙКИ», а второй — вставку в ячейку только значений(встроенная команда — подробнее в статье: Как удалить в ячейке формулу, оставив значения?):
'========================================================= ' ' ДОБАВЛЯЕМ СВОЙ ПУНКТ В МЕНЮ ПРАВОЙ КНОПКИ МЫШИ ' With Application.CommandBars("Cell") 'дублируем кнопку "ИЗМЕНИТЬ СВОЙСТВА АТИВНОЙ ЯЧЕЙКИ" с панели 'добавляем перед 4-м элементом With .Controls.Add(Type:=1, before:=4) .Caption = "ИЗМЕНИТЬ СВОЙСТВА АТИВНОЙ ЯЧЕЙКИ" .Style = 3 .FaceId = 2 .OnAction = "Test" End With 'добавляем кнопку встроенной в Excel команды "Вставить значения" 'ищем команду "Вставить значения" по её ID в контекстном меню Set cbb = .FindControl(ID:=370) 'удаляем команду из меню, если она была уже добавлена ранее If Not cbb Is Nothing Then cbb.Delete End If 'добавляем перед 5-м элементом(после наше собственной команды) .Controls.Add ID:=370, before:=5 End With
Скачать пример:
Надстройка для Excel 97-2003 и выше.zip (22,6 KiB, 3 080 скачиваний)
СОЗДАНИЕ СОБСТВЕННОГО МЕНЮ НАДСТРОЙКИ ДЛЯ ВЕРСИЙ EXCEL 2007
Как я уже писал — для Excel 2007 и выше подходит описанный выше метод создания собственного меню для ранних версий. Однако меню в данном случае помещается исключительно на вкладку «Надстройки» и имеет довольно убогий вид (как можно лицезреть выше) в сравнении с общим Ribbon-интерфейсом других панелей. Чтобы посмотреть как это выглядит можете просто скачать файл выше и запустить его. Появится вкладка «Надстройки» с одной кнопкой.
Однако учитывая появившуюся в 2007 версии офиса возможность кастомизировать ленту Ribbon через язык XML, гораздо практичнее(особенно для разработчиков) создавать собственную панель с отдельным именем, на которой можно разместить красиво команды, добавить свои собственные значки для команд без особых усилий.
Примерно так можно все это оформить:
Чтобы добавить свою панель необходимо изменить XML-схему для надстройки, которая присутствует в любом файле формата 2007. Есть несколько методов(я опишу лишь два).
Первый метод
, он же совсем неудобный и требует навыков работы с XML
- Изменить расширение файла с .xlam на .rar или .zip и открыть любым архиватором.
Если не отображается расширение:
Панель управления—Свойства папки(для Win 7 — Параметры папок)- вкладка Вид— Снять галочку с «Скрывать расширение для зарегистрированных типов файлов» - Добавить в архив папку «customUI», папку «_rels» и папку «images»
- Создать файл «customUI.xml», который лично я бы назвал основным — в нем необходимо впоследствии прописать все панели и команды по законам языка XML. После чего данный файл необходимо поместить в папку «customUI»
- В папке «images» будут храниться все значки, которые будут расположены на панели
- Папка «_rels» должна внутри содержать файл «customUI.xml.rels», в котором перечисляются связи картинок с командами и панелями. Проще говоря — схема взаимосвязей ресурсов
Но все это очень муторно и необходимо знать язык XML. Уверен, большая часть читающих статью уже 100500 раз нахмурили брови и пару раз перечитали, надеясь понять о чем речь. Поэтому не будем дальше разбирать этот метод и перейдем к следующему.
Второй метод куда практичнее — использовать специальные программы для работы с Ribbon итерфейсом. Такие как Office Ribbon Editor, RibbonXMLEditor, OpenXML package editor и им подобные. Я сам использую для этих целей надстройку Максима Новикова — RibbonXMLEditor, последнюю версию которой можно скачать по адресу: http://novikovmaxim.narod.ru/index.htm?http://novikovmaxim.narod.ru/products/ribbon/ribbon.htm. На том же сайте можно найти примеры работы с Ribbon-панелью офиса и более подробно почитать про создание своих панелей. Я бы даже рекомендовал это сделать, если планируете создавать подобные файлы. Сама же программа RibbonXMLEditor бесплатна и не требует установки. Но функционал весьма достойный, а использование достаточно простое. Я не буду заострять внимание на всех нюансах работы с ней — все это можно найти на сайте её создателя(что я лично категорично рекомендую). Опишу лишь основное, что может потребоваться.
Для начала работы и создания своего меню необходимо открыть программу RibbonXMLEditor и выбрать в ней файл, в который хотите внедрить меню. Это должен быть файл формата .xlsm,.xlam или .xlsb. Т.к. мы создаем надстройку — наш формат .xlam.
На рисунке отмечены цифрами шаги, расписанные ниже:
1. Добавляете ribbon (нажатием кнопки на элементе)
2. Далее tabs и tab(так же автоматом добавится элемент groupe) — выделяете строку и внутрь кавычек для id вписываете groupe_1, а для label вписываете имя вкладки — Свойства ячейки.
3. Уже после этого внутрь groupe добавляете button и задаете ей id — change_cell. Должен получится такой код:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon startFromScratch="false"> <tabs> <tab id="excel-vba" label="Test excel-vba.ru"> <group id="groupe_1" label="Свойства ячейки"> <button id="change_cell" /> </group> </tab> </tabs> </ribbon> </customUI>
Id каждого элемента должно быть уникальным и предпочтительнее указывать его исключительно на латинице(англ.алфавит), т.к. кириллица распознается с трудом и есть шанс получить ошибку.
Теперь продолжаем добавлять свойства для button:
4. для начала подгружаем картинку через соответствующую кнопку.
5. После этого она будет в выпадающем списке правее.
6. Ставим курсор после «change_cell» и нажимаем кнопку вставки тега изображения. Вставляется тег и название. Теперь у нашей кнопки есть картинка.
7. При помощи выпадающего меню параметров выбираем label и вставляем данный тег кнопкой, расположенной правее выпадающего списка. Курсор автоматически будет помещен внутрь кавычек. Вписываем текст — Изменить свойства ячейки.
8. При помощи выпадающего списка функций обратного вызова выбираем onAction и так же вставляем. Вписываем туда имя вызываемой процедуры — CallTest.
В результате должно получиться:
<?xml version="1.0" standalone="yes"?> <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon startFromScratch="false"> <tabs> <tab id="excel-vba" label="Test excel-vba.ru"> <group id="groupe_1" label="Свойства ячейки"> <button id="change_cell" image="table_edit" label="Изменить свойства ячейки" onAction="CallTest" /> </group> </tab> </tabs> </ribbon> </customUI>
Для отладки схемы через RibbonXMLEditor можно использовать кнопку отладки(зеленый треугольник) или сочетание клавиш F9. Для проверки корректности схемы — зеленая галочка. Жмем на неё и если в схеме будут ошибки — они сразу будут найдены и показаны в сообщении, с указанием номера строки и столбца, в которых ошибка.
На этом, казалось бы, все. Но нет. Просто так, сама по себе XML-схема не вызовет процедуру — необходимо создать функции обратного вызова. Вот здесь у RibbonXMLEditor есть еще одна отличная функция — генерация модуля обратных вызовов — 9. Нажимаем на кнопку — получаем готовые функции. Как правило верхние две строки не нужны — нам нужны лишь сами функции:
Sub CallTest(control As IRibbonControl) End Sub
Копируем. Сохраняем схему нажатием дискеты в RibbonXMLEditor и закрываем программу.
Теперь открываем наш файл и вставляем скопированный текст функции. В эту функцию прописываем вызов нашей, уже созданной ранее процедуры: Test
Sub CallTest(control As IRibbonControl) Call Test End Sub
В принципе, можно и прямо в эту процедуру прописать все действия из процедуры Test.
Сохраняем.
Открываем наш файл — видим, что новая вкладка «Test excel-vba.ru» появилась, кнопка на ней есть. По нажатии на кнопку выделенная ячейка окрашивается в красный цвет, в ней прописывается значение 10 и создаются границы.
Так же можно вставлять на свою вкладку встроенные команды. Для этого в button используется не id, а idMso. Эти команды не нуждаются в обработке обратных вызовов, т.к. при их использовании происходит вызов встроенных функций — кнопки как бы просто дублируются на нашу вкладку со всеми их возможностями. Например, чтобы добавить на свою вкладку стандартную кнопку перехода в VisualBasic надо добавить кнопку с idMso VisualBasic:
<button idMso="VisualBasic" />
Сам код при этом будет выглядеть так:
<?xml version="1.0" standalone="yes"?> <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon startFromScratch="false"> <tabs> <tab id="excel-vba" label="Test excel-vba.ru"> <group id="groupe_1" label="Свойства ячейки"> <button id="change_cell" image="table_edit" label="Изменить свойства ячейки" onAction="CallTest" /> <button idMso="VisualBasic" /> </group> </tab> </tabs> </ribbon> </customUI>
Естественно, на создании одних кнопок функционал лент Ribbon не ограничивается. Доступны почти все элементы(вып.меню, галереи, большие иконки(32х32) и т.д.), которые есть в стандартных вкладках. Если чуть потренироваться и поэкспериментировать с приложением RibbonXMLEditor — то вскоре вы сможете быстро и легко создавать красивые и функциональные приложения. Как пример таких приложений можете посмотреть описание к моей надстройке MulTEx.
Так же как и в случае с надстройками для 2003 Excel, здесь можно создавать кнопки в контекстном меню(правая кнопка мыши), но и тут не обошлось без нюансов:
- изменение данного меню доступно только начиная с версии Excel 2010. Для 2007 версии придется использовать старые методы — те же, что и для 2003(т.е. внедрение отдельного кода на Workbook_Open надстройки, как в примере выше для надстройки 2003)
- в надстройке Ribbon XML Editor я не нашел встроенного инструмента для вставки кодов обработки меню правой кнопкой мыши. Похожий по «звучанию» contextualTabs не совсем то, что нужно(а если быть точнее — совсем не то). contextualTabs — это динамические вкладки, которые появляются после основных вкладок при работе с определенными объектами. Например, с умными таблицами. Когда выделяем умную таблицу или любую ячейку в ней, то появляется группа динамических вкладок «Работа с таблицами». Вот в неё и вносятся изменения при помощи contextualTabs
Поэтому прописывать «добавки» в меню по правой кнопке мыши придется самостоятельно. Код вставки уже имеющегося у нас кода приведен ниже:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"> <ribbon startFromScratch="false"> <tabs> <tab id="excel-vba" label="Test excel-vba.ru"> <group id="groupe_1" label="Свойства ячейки"> <button id="change_cell" image="table_edit" label="Изменить свойства ячейки" onAction="CallTest" /> <button idMso="VisualBasic" /> </group> </tab> </tabs> </ribbon> <contextMenus> <contextMenu idMso="ContextMenuCell"> <button id="change_cell_context" image="table_edit" label="Изменить свойства ячейки" onAction="CallTest" insertBeforeMso="Cut" /> </contextMenu> </contextMenus> </customUI>
добавлять его надо исключительно на вкладке 2010, 2013(customUI14.xml) внизу редактора Ribbon XML Editor. Обращаю внимание, что код создания собственной вкладки на панели дублируется: он должен присутствовать и в 2007(customUI.xml) и в 2010, 2013(customUI14.xml). Это необходимо сделать, чтобы в 2007 Excel была только вкладка, а начиная с 2010 — еще и контекстное меню(схемы customUI.xml и customUI14.xml обрабатываются отдельно друг от друга в зависимости от того, в какой версии открыт файл). При этом в 2007 это никаких ошибок не вызовет.
Остальные правила для создания элементов меню точно такие же, как и для вкладок: можно добавлять как собственные команды, так и встроенные(при помощи idMso).
Я сам предпочитаю контекстное меню дополнять исключительно кодом VBA, т.к. для 2007 его в любом случае придется писать.
Скачать пример надстройки для 2007 Excel
Надстройка для Excel 2007 и выше.zip (14,6 KiB, 3 402 скачиваний)
В примере я не стал делать много кнопок и их обработку — слишком уж много различных элементов там доступны и для раскрытия всего функционала этой статьи не хватит. Да и в интернете уже полно статей с разбором работы с XML-интерфейсом новых версий Excel. Основной упор сделан на создание основной вкладки и контекстного меню, т.к. техника создания контекстного меню уж очень не очевидна из надстройка Ribbon XML Editor.
Осталось дело за малым — научиться эти надстройки подключать. Но об этом я уже писал в статье Подключение/отключение надстроек
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
Выпадающий список в ячейке листа
У кого мало времени и нужно быстро ухватить суть — смотрим обучающее видео:
Кому интересны подробности и нюансы всех описанных способов — дальше по тексту.
Способ 1. Примитивный
Один щелчок правой кнопкой мыши по пустой ячейке под столбцом с данными, команда контекстного меню Выбрать из раскрывающегося списка (Choose from drop-down list) или нажать сочетание клавиш ALT+стрелка вниз. Способ не работает, если ячейку и столбец с данными отделяет хотя бы одна пустая строка или вам нужен товар, который еще ни разу не вводился выше:
Способ 2. Стандартный
- Выделите ячейки с данными, которые должны попасть в выпадающий список (например, наименованиями товаров).
- Если у вас Excel 2003 или старше — выберите в меню Вставка — Имя — Присвоить(Insert — Name — Define), если Excel 2007 или новее — откройте вкладку Формулы (Formulas) и воспользуйтесь кнопкой Диспетчер имен (Name Manager), затем Создать. Введите имя (можно любое, но обязательно без пробелов и начать с буквы!) для выделенного диапазона (например Товары). Нажмите ОК.
- Выделите ячейки (можно сразу несколько), в которых хотите получить выпадающий список и выберите в меню (на вкладке) Данные — Проверка (Data — Validation). Из выпадающего списка Тип данных (Allow) выберите вариант Список (List) и введите в строчку Источник (Source) знак равенства и имя диапазона (т.е. =Товары).
Важный нюанс. В качестве источника данных для списка может выступать и динамический именованный диапазон, например прайс-лист. Тогда при дописывании новых товаров к прайсу, они будут автоматически добавляться к выпадающему списку. Еще одним часто используемым трюком для таких списков является создание связанных выпадающих списков (когда содержимое одного списка меняется в зависимости от выбора в другом).
Способ 3. Элемент управления
Этот способ представляет собой вставку на лист нового объекта — элемента управления «поле со списком» с последующей привязкой его к диапазонам на листе. Для этого:
- В Excel 2007/2010 откройте вкладку Разработчик (Developer). В более ранних версиях — панель инструментов Формы (Forms) через меню Вид — Панели инструментов — Формы (View — Toolbars — Forms). Если этой вкладки не видно, то нажмите кнопку Офис — Параметры Excel— флажок Отображать вкладку Разработчик на ленте (Office Button — Excel Options — Show Developer Tab in the Ribbon)
- Найдите значок выпадающего списка среди элементов управления форм (не ActiveX!). Ориентируйтесь по всплывающим подсказкам — Поле со списком:
Щелкните по значку и нарисуйте небольшой горизонтальный прямоугольник — будущий список. - Щелкните по нарисованному списку правой кнопкой мыши и выберите команду Формат объекта (Format control). В появившемся диалоговом окне задайте
- Формировать список по диапазону — выделите ячейки с наименованиями товаров, которые должны попасть в список
- Связь с ячейкой — укажите ячейку куда нужно выводить порядковый номер выбранного пользователем элемента.
- Количество строк списка — сколько строк показывать в выпадающем списке. По умолчанию — 8, но можно больше, чего не позволяет предыдущий способ.
После нажатия на ОК списком можно пользоваться.
Чтобы вместо порядкового номера элемента выводилось его название можно дополнительно использовать функцию ИНДЕКС (INDEX), которая умеет выводить содержимое нужной по счету ячейки из диапазона:
Способ 4. Элемент ActiveX
Этот способ частично напоминает предыдущий. Основное отличие в том, что на лист добавляется не элемент управления, а элемент ActiveX «Поле со списком» из раскрывающегося набора под кнопкой Вставить (Insert) с вкладки Разработчик (Developer):
Механизм добавления тот же — выбираем объект из списка и рисуем его на листе. А вот дальше начинаются серьезные отличия от предыдущего способа.
Во-первых, созданный выпадающий ActiveX список может находится в двух принципиально разных состояниях — режиме отладки, когда можно настраивать его параметры и свойства, двигать его по листу и менять размеры и — режиме ввода, когда единственное, что можно — выбирать из него данные. Переключение между этими режимами происходит с помощью кнопки Режим Конструктора (Design Mode) на вкладке Разработчик (Developer):
Если эта кнопка нажата, то мы можем настраивать параметры выпадающего списка, нажав соседнюю кнопку Свойства (Properties), которая откроет окно со списком всех возможных настроек для выделенного объекта:
Самые нужные и полезные свойства, которые можно и нужно настроить:
- ListFillRange — диапазон ячеек, откуда берутся данные для списка. Выделить мышью диапазон он не даст, надо просто вписать его руками с клавиатуры (например, Лист2!A1:A5)
- LinkedCell — связанная ячейка, куда будет выводиться выбранный из списка элемент
- ListRows — количество отображаемых строк
- Font — шрифт, размер, начертание (курсив, подчеркивание и т.д. кроме цвета)
- ForeColor и BackColor — цвет текста и фона, соответственно
Большим и жирным плюсом этого способа является возможность быстрого перехода к нужному элементу в списке при вводе первых букв с клавиатуры(!), чего нет у всех остальных способов. Приятным моментом, также, является возможность настройки визуального представления (цветов, шрифтов и т.д.)
При использовании этого способа, также возможно указывать в качестве ListFillRange не только одномерные диапазоны. Можно, например задать диапазон из двух столбцов и нескольких строк, указав дополнительно, что выводить нужно два столбца (свойство ColumnCount=2). Тогда можно получить весьма привлекательные результаты, окупающие все потраченные на дополнительные настройки усилия:
Команды главного меню Excel
В Microsoft Office 2000 и выше активно применяется т.н. “Область задач” – панель, в правой часть окна документа (вызывается через Вид/Область задач или сочетанием клавиш Ctrl+F1), на которой в зависимости от контекста отображаются различные кнопки быстрого выполнения определенных функций.
Многая функциональность из предыдущих версий Office перекочевала на эту панель и доступна только через нее.
Команды меню «Файл».
Команда «Создать» (меню «Файл»).Создание нового файла.
Команда «Открыть» (меню «Файл»).Открытие или поиск файла.
Команда «Закрыть» (меню «Файл»). Закрытие текущего файла без выхода из приложения. Если в файле имеются не сохраненные изменения, на экран будет выведен запрос на сохранение изменений перед закрытием файла. Для того чтобы закрыть все файлы, следует, удерживая нажатой клавишу SHIFT, выбрать команду Закрыть все в меню Файл.
Команда «Сохранить» (меню «Файл»). Сохранение текущего файла без изменения его имени, местоположения и формата.
Команда «Сохранить как» (меню «Файл»). Сохранение текущего файла под другим именем, в другом месте или формате. В Microsoft Access, Microsoft Excel и Word эта команда дает возможность сохранения файла с парольной защитой или с запретом его изменения другими пользователями (кнопка Параметры…).
Команда «Сохранить как веб-страницу». Вызов помощника по работе с Интернетом, создающего на основе презентаций, документов, таблиц и диаграмм документы в формате HTML, готовые для опубликования в сети Web.
Команда «Сохранить рабочую область». Сохранение в файле рабочей области списка открытых книг MS Excel, их размеров и положения на экране. Это позволяет восстановить вид экрана при следующем открытии файла рабочей области.
Путем создания файла рабочей области достигается возможность открытия нескольких книг за один шаг. Этот файл хранит информацию обо всех открытых книгах, например, их расположение, размеры окон и позиции относительно экрана. При открытии файла рабочей области с помощью команды Открыть (меню “Файл”) Ms Excel открывает все книги, сохраненные в рабочей области. Этот файл не содержит самих книг, и поэтому необходимо продолжать сохранять изменения отдельно для каждой книги.
1.Откройте книги, которые должны открываться в качестве группы.
2.Измените размеры окон книг и разместите их так, как они должны появляться при дальнейшем их использовании.
3.Выберите команду Сохранить рабочую область в меню Файл.
4.В окне Имя файла введите имя файла рабочей области.
Команда «Поиск файлов» (меню «Файл»). Служит для поиска файлов или данных в файлах Microsoft Office. Вызывает панель задач с расширенной или сокращенной функциональностью по поиску информации на компьютере пользователя.
Команда «Разрешения» (меню «Файл»).
В настоящее время эффективный контроль над ценными сведениями можно осуществлять только путем ввода ограничений на доступ к сетям или компьютерам, в которых хранятся эти сведения. Если разрешить пользователям доступ к сведениям, это может привести к их распространению, а также к изменению их содержания. Таким образом, информация может попасть в руки тех, кому она не предназначена. Для предотвращения подобных ситуаций Microsoft Office 2003 предоставляет новое средство управления правами на доступ к данным (IRM), которое обеспечивает защиту ценных сведений от случайного распространения. IRM осуществляет контроль над файлами даже в процессе их передачи!
Файлы с ограниченными разрешениями можно создавать с помощью службы управления правами на доступ к данным только в Microsoft Office Professional версия 2003, Microsoft Office Word 2003, Microsoft Office Excel 2003 и Microsoft Office PowerPoint 2003.
Команда «Предварительный просмотр веб-страницы» (меню «Файл»).
Предназначение команды – показать, как будет выглядеть страница, которая получится после сохранения ее как макета веб-страницы и опубликования в Иннтернет.
Команда «Параметры страницы» (меню «Файл»). Установка полей, источника бумаги, размера и ориентации листов и других параметров размещения текста для активного файла.
Чтобы выводить одинаковые строки или столбцы на каждой странице, используйте параметры из группы Печатать на каждой странице. Чтобы использовать строку в качестве заголовка, используйте окно сквозные строки. Чтобы использовать столбец в качестве заголовка, используйте окно сквозные столбцы.
После этого выберите требуемые ячейки строки или столбца. Кнопка свертывания диалогового окна справа от поля позволяет временно убрать диалоговое окно с экрана, чтобы было удобнее выделять диапазон на листе. Закончив выделение диапазона, нажмите кнопку снова для восстановления диалогового окна.
Команда «Области печати/ Задать» (меню «Файл»). Определение выделенного диапазона как области печати, то есть единственного фрагмента таблицы, который будет выводиться на печать.
Команда «Области печати/ Убрать» (меню «Файл»). Удаление области печати на активном листе.
Команда «Предварительный просмотр» (меню «Файл»). Предварительный просмотр файла в том виде, в котором он будет напечатан.
Команда «Печать» (меню «Файл»). Печать текущего файла или выделенных элементов. Параметры печати задаются с помощью команды Печать меню Файл.
Команда «Отправить/ Сообщение».Отправка текущего файла в качестве вложения в сообщение электронной почты.
Команда «Отправить/ По маршруту». Отправка текущего файла другим пользователям для правки и добавления комментариев. Использование маршрутизации требует установки на компьютерах автора документа и его корреспондентов приложения, в котором создан документ, и Microsoft Exchange или совместимого почтового приложения.
Если маршрут отправки уже установлен, или пользователем было получено сообщение с маршрутом, имя команды будет заменено на Изменить маршрут.
Команда «Свойства» (меню «Файл»).Отображение окна свойств для активного файла.
Команда «Список файлов, открытых последними» (меню «Файл»). Список последних файлов, открывавшихся в данной программе. Для повторного открытия файла следует выбрать его имя из списка.
Команда «Выход» (меню «Файл»). Выход из программы с запросом на сохранение изменений в файлах, если оно требуется.
Как сделать меню в Excel
Microsoft Excel — самая простая и удобная программа для составления таблиц, ведения расчетов, последующего форматирования, написания отчетов с большим количеством различных формул.
Разобраться в ней совсем не сложно — нужно запастись терпением, вниманием, потренироваться на практике и пользоваться с удовольствием.
Выясняем, как создать таблицу в экселе пошагово.
Содержание:
- Как создать таблицу в экселе — 3+ пошаговых способа
- Как создать таблицу с формулами
- Различие разных версий программы Excel
- ТОП горячих клавиш для работы в экселе
Как создать таблицу в экселе — 3+ пошаговых инструкции
Приложение Microsoft Excel очень удобно и позволяет создавать таблицы сразу несколькими способами — вручную, в автоматическом режиме, делать сводные, выбирать из уже существующих шаблонов.
Рассмотрим каждый из них:
Таблицы в ручном режиме
Ручной способ № 1
Первое, что вы видите, открывая эксель, — множество ячеек одинакового размера.
Не стоит сразу впадать в панику от обилия прямоугольников, цифр, букв и надписей.
На самом деле, элементарная таблица создается в 2 клика.
Шаг 1: выделите при помощи мышки необходимое количество ячеек, равное длине и высоте вашей будущей таблицы.
Шаг 2: перейдите во вкладку с названием «Главная», выберите иконку «Границы», перейдите в пункт «Все границы». Профит. Можете заполнять.
Ручной способ № 2
Шаг 1: нажмите иконку «Границы» и выберите пункт меню «Нарисовать сетку».
Шаг 2: после этого у вас изменится вид курсора. Сделайте клик левой кнопкой мыши и перетащите указатель в необходимое место.
Верхний угол слева — начальное положение. Правый угол внизу — конечное. Чтобы создать таблицу, уберите палец с левой кнопки мыши.
Как создать обычную таблицу в экселе в автоматическом режиме
Шаг 1: откройте вкладку «Вставка». Выберите в меню раздел «Таблицы» и перейдите в последний пункт.
Шаг 2: на экране монитора появится окно, в котором вам будет необходимо указать границы. Выберите любую область и координаты появятся автоматически.
Шаг 4: после того, как вы отпустите курсор мыши, окно примет первоначальный вид. Нажмите кнопку «ок».
Шаг 4: в итоге вы получите красивую таблицу с ячейками двух цветов.
Чтобы изменить название столбца, просто кликните по нему мышкой либо введите курсор в поле для формул и напишите текст. После чего вносите данные и работайте с удовольствием.
Совет: в дальнейшем для создания таблицы в таком режиме можно использовать сочетание горячих клавиш Ctrl+T.
Как создать сводную таблицу в экселе пошагово с формулами
Подобная таблица необходима для обобщения информации и ее анализа.
Как создать ее пошагово:
Шаг 1: делаем и заполняем базовую форму одним из описанных выше способов.
Шаг 2: открываем меню «Вставка» и выбираем нужный нам вариант «Сводная таблица».
Шаг 3: в новом появившемся окне выбираем первую строку, затем выделяем мышкой всю таблицу — ее диапазон автоматически отобразится в строке активного меню. Нажимаем кнопку «ок».
Шаг 4: на этом этапе сбоку появится панель необходимых настроек. Вам нужно переместить поля в категории.
Столбцы — это месяцы, строки — назначение затрат, значения — сумма денег.
Шаг 5: чтобы осуществить перенос, кликаем левой кнопкой мыши на любое поле и, не отпуская пальца, перетаскиваем курсор в необходимое место.
Когда иконка курсора изменит внешний вид, отпускаем палец.
В итоге получается таблица автоматических подсчетов. Для удобства анализа информации в ней вы можете выделять отдельные части — подсчет данных происходит автоматически в ячейках «Общий итог».
Как создать в экселе таблицу — рекомендуемые сводные таблицы
Если самому разобраться со значениями, количеством строк и столбцов таблицы сложно, разработчики экселя создали несколько шаблонов для анализа данных. Работают они предельно просто.
Выделяем интересующую нас информацию. С ледуем команде меню «Вставка» — «Таблицы» — «Рекомендуемые сводные таблицы».
В итоге программное обеспечение само анализирует содержимое и предлагает несколько подходящих вариантов.
В ыберите вручную нужное вам значение и нажмите «ок», после чего решение будет создано автоматически.
Кроме того, обратите внимание: в момент, когда вы открываете приложение в компьютере, Eхcel сразу предлагает вам несколько базовых опций и таблиц, создать которые можно при помощи одного клика.
Вот, какие возможности находятся в вашем распоряжении:
- Открыть последние таблицы, с которыми вы работали
- Создать новую книгу — так в программе называется рабочая панель для создания таблиц
- Ознакомиться с подробной информацией о всех возможностях программы — с этого и стоит начать работу
- Выбрать один из уже имеющихся шаблонов по умолчанию
- Войти при помощи своей учетной записи
- Продолжить поиск шаблонов в сети Интернет, если ни один из существующих вариантов не пришелся по вкусу
Как создать таблицу, которая сама считает, в экселе пошагово
Самым популярным приложением для подсчета и анализа данных эксель стал именно благодаря возможности проводить автоматические расчеты.
По сути, вся программа и построена на применении различных математических формул — их огромный спектр вы можете посмотреть во вкладке меню «Формулы».
Мы же покажем на простом примере, как создать таблицу в экселе с формулами для чайников.
Совет: всю полезную информацию о работе с формулами желательно изучить до применения программы на практике, а также ознакомиться с описанием хотя бы основных функций.
Пример: представим, что вам нужно произвести умножение в ячейках.
Шаг 1: в качестве примера возьмем элементарную таблицу.
Шаг 2: переведите в состояние активности ячейку, в которой нужно вывести конечный результат.
Введите в нее команду =B2*C2, где В и С — номера столбцов, 2 — строки, затем нажмите клавишу Enter.
Шаг 3: курсор мыши наведите на правый нижний угол этой ячейки до тех пор, пока не изменится его внешний вид.
Зажмите пальцем левый клик мыши и потяните вниз до последней строки. При помощи этого способа автоподстановки формула окажется во всех ячейках.
Таким образом, значение общей стоимости будет зависеть от стоимости одного кило и количества продукции.
Можно также использовать для подсчетов уже готовые автосуммы.
На указанном примере сначала выделяем необходимые нам значения и ищем во вкладке «Главная» пункт меню «Автосуммы».
В результате появится общая сумма всех необходимых чисел.
Совет: при необходимости любую таблицу можно экспортировать в Word. Для этого выделите вручную все столбцы и ячейки, затем воспользуйтесь сочетанием клавиш Ctrl+C для копирования и Ctrl+V для вставки данных в новый документ.
Различие разных версий программы Excel
Многих интересует вопрос, как создать таблицу в экселе 2003.
Сразу скажем, что программное обеспечение стоит регулярно обновлять, т. к. версия 2003 года в 2018 как минимум морально устарела и в ней отсутствует огромное количество важных функций.
Так, например, «Формулы» в меню раньше назывались «Функциями» — элементарное расхождение в названиях может сбить новичка с толку при работе, да и самих формул было в разы меньше.
На некоторых предприятиях по-прежнему используют устаревшее обеспечение, однако, собираясь установить себе эксель образца 2003 года, обратите внимание, что его поддержка прекращена, поэтому не забывайте регулярно обновлять софт.
ТОП горячих клавиш для работы в экселе
- Закрытие книги — CTRL+W
- Открытие книги — CTRL+O
- Переход на вкладку «Главная» — ALT+Я
- Сохранение книги — CTRL+S
- Копирование — CTRL+C
- Вставка — CTRL+V
- Отмена операции — CTRL+Z
- Удаление содержимого ячеек — DELETE
- Выбор цвета заливки — ALT+Я, Р, 1
- Вырезание — CTRL+X
- Переход на вкладку «Вставка» — ALT+С
- Полужирный шрифт — CTRL+B
- Выравнивание содержимого ячеек по центру — ALT+Я, Е, 1
- Переход на вкладку «Разметка страницы» — ALT+З
- Переход на вкладку «Данные» — ALT+Ё
- Переход на вкладку «Вид» — ALT+W
- Открытие контекстного меню — SHIFT+F10 или клавиша вызова контекстного меню
- Добавление границ — ALT+Я, Г, Г
- Удаление столбца — ALT+Я,0, 2, О
- Переход на вкладку «Формула» — ALT+Л
- Скрытие выделенных строк — CTRL+9
- Скрытие выделенных столбцов — CTRL+0
Как видите, работать в Excel довольно легко, к тому же это удобно и значительно упрощает ведение рабочего процесса.
Программа обладает массой возможностей для создания красивого внешнего вида таблиц.
Не забудьте также о приложении «Google Таблицы», позволяющем работать в режиме реального времени, делиться данными с коллегами, редактировать и хранить, не опасаясь сбоя в системе.
Как создать в экселе таблицу по приходу, расходу и остатку вы узнаете в пошаговой видео инструкции ниже:
Microsoft Excel: выпадающие списки
При работе в программе Microsoft Excel в таблицах с повторяющимися данными, очень удобно использовать выпадающий список. С его помощью можно просто выбирать нужные параметры из сформированного меню. Давайте выясним, как сделать раскрывающийся список различными способами.
Создание дополнительного списка
Самым удобным, и одновременно наиболее функциональным способом создания выпадающего списка, является метод, основанный на построении отдельного списка данных.
Прежде всего, делаем таблицу-заготовку, где собираемся использовать выпадающее меню, а также делаем отдельным списком данные, которые в будущем включим в это меню. Эти данные можно размещать как на этом же листе документа, так и на другом, если вы не хотите, чтобы обе таблице располагались визуально вместе.
Выделяем данные, которые планируем занести в раскрывающийся список. Кликаем правой кнопкой мыши, и в контекстном меню выбираем пункт «Присвоить имя…».
Открывается форма создания имени. В поле «Имя» вписываем любое удобное наименование, по которому будем узнавать данный список. Но, это наименование должно начинаться обязательно с буквы. Можно также вписать примечание, но это не обязательно. Жмем на кнопку «OK».
Переходим во вкладку «Данные» программы Microsoft Excel. Выделяем область таблицы, где собираемся применять выпадающий список. Жмем на кнопку «Проверка данных», расположенную на Ленте.
Открывается окно проверки вводимых значений. Во вкладке «Параметры» в поле «Тип данных» выбираем параметр «Список». В поле «Источник» ставим знак равно, и сразу без пробелов пишем имя списка, которое присвоили ему выше. Жмем на кнопку «OK».
Выпадающий список готов. Теперь, при нажатии на кнопку у каждой ячейки указанного диапазона будет появляться список параметров, среди которых можно выбрать любой для добавления в ячейку.
Создание выпадающего списка с помощью инструментов разработчика
Второй способ предполагает создание выпадающего списка с помощью инструментов разработчика, а именно с использованием ActiveX. По умолчанию, функции инструментов разработчика отсутствуют, поэтому нам, прежде всего, нужно будет их включить. Для этого, переходим во вкладку «Файл» программы Excel, а затем кликаем по надписи «Параметры».
В открывшемся окне переходим в подраздел «Настройка ленты», и ставим флажок напротив значения «Разработчик». Жмем на кнопку «OK».
После этого, на ленте появляется вкладка с названием «Разработчик», куда мы и перемещаемся. Чертим в Microsoft Excel список, который должен стать выпадающим меню. Затем, кликаем на Ленте на значок «Вставить», и среди появившихся элементов в группе «Элемент ActiveX» выбираем «Поле со списком».
Кликаем по месту, где должна быть ячейка со списком. Как видите, форма списка появилась.
Затем мы перемещаемся в «Режим конструктора». Жмем на кнопку «Свойства элемента управления».
Открывается окно свойств элемента управления. В графе «ListFillRange» вручную через двоеточие прописываем диапазон ячеек таблицы, данные которой будут формировать пункты выпадающего списка.
Далее, кликаем по ячейке, и в контекстном меню последовательно переходим по пунктам «Объект ComboBox» и «Edit».
Выпадающий список в Microsoft Excel готов.
Чтобы сделать и другие ячейки с выпадающим списком, просто становимся на нижний правый край готовой ячейки, нажимаем кнопку мыши, и протягиваем вниз.
Связанные списки
Также, в программе Excel можно создавать связанные выпадающие списки. Это такие списки, когда при выборе одного значения из списка, в другой графе предлагается выбрать соответствующие ему параметры. Например, при выборе в списке продуктов картофеля, предлагается выбрать как меры измерения килограммы и граммы, а при выборе масла растительного – литры и миллилитры.
Прежде всего, подготовим таблицу, где будут располагаться выпадающие списки, и отдельно сделаем списки с наименованием продуктов и мер измерения.
Присваиваем каждому из списков именованный диапазон, как это мы уже делали ранее с обычными выпадающими списками.
В первой ячейке создаём список точно таким же образом, как делали это ранее, через проверку данных.
Во второй ячейке тоже запускаем окно проверки данных, но в графе «Источник» вводим функцию «=ДВССЫЛ» и адрес первой ячейки. Например, =ДВССЫЛ($B3).
Как видим, список создан.
Теперь, чтобы и нижние ячейки приобрели те же свойства, как и в предыдущий раз, выделяем верхние ячейки, и при нажатой клавише мышки «протаскиваем» вниз.
Всё, таблица создана.
Мы разобрались, как сделать выпадающий список в Экселе. В программе можно создавать, как простые выпадающие списки, так и зависимые. При этом, можно использовать различные методы создания. Выбор зависит от конкретного предназначения списка, целей его создания, области применения, и т.д.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Как сделать выпадающее меню в Excel
Выпадающее меню в таблицах Excel удобно использовать при выборе различных параметров и сортировке значений в документе. CHIP расскажет, как это быстро организовать.
Сделать выпадающее меню при работе с электронными таблицами вам поможет следующий совет: внесите в новый документ Excel возможности выбора для выпадающего меню.
В нашем случае это цвет глаз. Затем выберите ячейку, в которой вы хотите произвести выбор из предложенных вариантов. Нажмите на закладку «Данные» в верхнем меню программы, перейдите в раздел «Работа с данными» и нажмите на «Проверка данных…».
В появившемся окне выберите на вкладке «Параметры» в выпадающем меню «Тип данных» значение «Список». В поле «Источник» определите, какие пункты содержит ваш список. Для этого щелкните на иконку рядом с текстовым полем и введите параметры через «;» (например, серый; голубой; зеленый). Значения также можно выбирать из вашей таблицы.
Создать выпадающее меню. Нажмите на «ОК» и подтвердите создание выпадающего меню ячейке листа Excel
Теперь рядом с текстовым полем вы увидите кнопку выпадающего списка. Нажмите на «ОК» и подтвердите ваши данные в окне «Проверка данных». Выпадающее меню составлено.
Фото: компания-производитель
Содержание
- Пошагово: выбор шаблона Excel для меню
- Как создать собственное меню
- Шаблоны Excel обеспечивают быстрый дизайн меню
- FAQs
Эти советы помогут
Прежде чем гость впервые посетит ресторан, он обычно узнает, что предлагается. Карточка меню играет здесь центральную роль, потому что это самый важный источник информации о предлагаемых блюдах и напитках. Операторы не только выводят меню на входе, но и все чаще публикуют его в Интернете на сайте ресторана. Поскольку глаз тоже ест, расположение меню очень важно. Word предлагает несколько шаблонов для меню. Но также с помощью Excel можно быстро и легко создавать и распечатывать бесплатные шаблоны меню.
Все начинается с правильного шаблона Excel для меню. Программа предлагает любую возможность составить изысканное меню в соответствии с индивидуальными пожеланиями. Сначала найдите шаблон, который лучше всего подходит для вашего ресторана.
-
Для этого после запуска Excel введите «Меню» или «Меню» в поле поиска с надписью «Поиск онлайн-шаблонов» и щелкните значок увеличительного стекла.
-
Теперь Excel ищет в Интернете тысячи шаблонов и выводит соответствующие результаты в качестве предварительного просмотра.
-
Кроме того, теперь вы можете щелкнуть по записи «Меню» в меню выбора справа. Помимо шаблонов меню, также отображаются шаблоны для меню, карточек меню и т.п.
-
Если есть подходящий шаблон, щелкните по нему и загрузите бесплатную карточку меню. Теперь вы можете принять это или адаптировать его к своим потребностям.
Кончик: Word также предлагает шаблон меню, который можно использовать для вдохновения.
Как создать собственное меню
Пользователи могут создавать собственные шаблоны Excel для меню. Если владельцы хотят полностью создавать свое меню, Excel поддерживает их на всех этапах процесса макета.
-
Лучше всего начать с фона. Для этой цели Excel предлагает мощную функцию Excel в разделе «Макет страницы> Фон».
-
Установите шрифты и предопределенные цвета шрифтов через «Макет страницы> Дизайн», чтобы создать свое меню.
-
Введите блюдо — по желанию с описанием гарниров — и цену в пустые строки.
-
Включите заголовки столбцов и используйте условное форматирование для внесения дальнейших изменений.
-
Вы также можете использовать разные рабочие листы, если хотите, например, разделить блюда на закуски, основные блюда и десерты.
-
Вы можете выбрать собственные изображения и рисунки со своего компьютера в качестве фона для меню в таблице на вкладке «Вставка> Иллюстрации> Изображения или изображения в Интернете» или бесплатно загрузить их из Интернета.
-
Сохраните карту как шаблон Excel, нажав «Сохранить как». Здесь вы можете выбрать «Шаблон Excel (* .xltx)».
-
Когда вы закончите работу с меню, перейдите к «Печатать активные листы» или «Печатать всю книгу» через «Файл> Печать».
При выборе фона всегда следите за тем, чтобы цвет был как можно более сдержанным и не отвлекал от фактического содержимого. Лучше всего для этого подходят фоны пастельных тонов. Если вы используете файлы фотографий, вам следует сначала отредактировать их с помощью программы редактирования изображений, чтобы они казались только тусклыми. Вы можете сделать это, увеличив яркость или используя функции мягкого фокуса в программе редактирования изображений.
Обратите внимание на метки при разработке шаблона Excel для меню.
Будь то объявление или в Интернете — меню — это что-то вроде визитной карточки ресторана, и поэтому его следует тщательно готовить. Сегодня критически настроенные потребители уделяют больше внимания здоровому питанию. Многие люди не любят определенные ингредиенты или даже имеют на них аллергическую реакцию. Только по этой причине следует наливать своим гостям «чистое вино». Вы также обязаны это сделать по закону. Не всегда удается избежать консервирования пищевых ингредиентов с использованием консервантов. Вы должны указать это в меню для соответствующего блюда или напитка. То же самое относится и к другим добавкам, таким как кофеин, хинин, красители, антиоксиданты и другие вещества. DEHOGA опубликовала буклет с добавками, подлежащими маркировке. Вы можете использовать числа для маркировки и перечислить соответствующие добавки в виде сноски меньшим шрифтом внизу карточки.
Сначала введите блюда, которые вы предлагаете.
Напишите число после блюд, которые хотите идентифицировать.
Выберите число, надстрочный индекс которого вы хотите добавить, и щелкните стрелку в правом нижнем углу на вкладке «Главная».
Откроется окно форматирования ячеек. Установите флажок «Надстрочный индекс».
Перейдите через «Вставить> Текст в верхнем и нижнем колонтитулах». Затем Excel отобразит рабочий лист в режиме «Макет страницы».
Вставьте туда верхний индекс и введите соответствующий идентификатор в нижнем колонтитуле.
Если блюдо содержит несколько веществ, идентифицируйте блюда, поместив числа в закрытых скобках в маленький надстрочный индекс после записи. Выглядит это примерно так: Блюдо XY 1) 2) 12) 14).
Персонализация и форматирование дизайнов
Меню должно быть составлено таким образом, чтобы его нельзя было спутать ни с чем. Поэтому имеет смысл персонализировать шаблоны Excel для меню и отформатировать дизайн. Например, вы можете использовать «Вставить> Иллюстрации» для интеграции логотипа вашей компании и использовать специальные шрифты и цвета шрифтов для разработки своего меню. Сделайте свое меню частью корпоративного дизайна вашей компании. В результате компании создают высокую ценность для своих гостей.
7 советов по языку и дизайну меню
Ваше меню должно быть не только визуально привлекательным, но и предлагать гостям быструю ориентацию. По сути, вы должны систематизировать свое предложение еды.
- Групповые закуски, основные блюда, десерты и напитки вместе.
- Если вы предлагаете маленькие блюда или блюда для детей, они также должны отображаться в группе, например, «… для небольшого голода между ними» или «для наших маленьких гостей» должны быть выделены в отдельную категорию.
- Вторые блюда всегда следует группировать по типу пищи, то есть мясные, рыбные, блюда из птицы и веганские блюда.
- Создайте отдельный раздел для супов и салатов.
- Когда дело доходит до наименования отдельных блюд, ваше воображение, конечно же, безгранично. Вам следует ориентироваться на свои целевые группы. Креативные блюда могут иметь оригинальные названия.
- Если у вас большой выбор, нумеруйте разные блюда.
- Информация о цене на блюдо всегда должна отображаться тем же шрифтом и размером шрифта, что и само название, чтобы обеспечить максимально возможную прозрачность в вашем меню.
Шаблоны Excel обеспечивают быстрый дизайн меню
Создавать меню с помощью бесплатных шаблонов Excel для меню быстро и легко благодаря предустановленным дизайнам. В большинстве случаев необходимо соответствующим образом адаптировать только содержание. Введите предлагаемые вам блюда в строки таблицы, вставьте заголовки и отформатируйте их. Что касается пометок, Excel предлагает возможность отмечать их в нижнем колонтитуле. Решающее преимущество: шаблоны Excel для меню позволяют создавать творческие варианты дизайна и различный дизайн. Наконец, пользователи могут распечатать результат.
FAQs
Как я могу вставить обложку в свое меню?
Мы рекомендуем использовать разные листы в одной книге для создания титульного листа. Выберите «Вставить> Объект> Документ Microsoft Word» и подтвердите, нажав «ОК». Теперь вы можете создать свой титульный лист.
Должен ли я указывать источники шаблонов Excel, используемых для меню?
Если условия использования источника шаблона не требуют этого, вам не нужно указывать источник в карточке меню.
Какой формат DIN должен иметь меню?
Формат, конечно, зависит от вас. Однако для наглядности мы рекомендуем использовать формат A4.
Вы поможете развитию сайта, поделившись страницей с друзьями
Microsoft Excel: выпадающие списки
Смотрите такжепоявилась потребность оформлении = True End списка новое наименование, это ячейка А1 усилия: отличия от предыдущего последующей привязкой его ячейке под столбцом отобразится в выпадающем диапазоны и внесетКак только вы это
добавления новых аргументов не является.
Создание дополнительного списка
через точку с функцию «=ДВССЫЛ» и включить. Для этого,При работе в программе меню кафе, If End Sub
появится сообщение: «Добавить со словом «Деревья».Способ 1. способа. к диапазонам на с данными, команда списке. Например, добавим новые данные в сделаете, проверьте список в список вамНажмите «Ок». запятой. адрес первой ячейки. переходим во вкладку Microsoft Excel в
написал форму, сЧтобы выбранные значения показывались введенное имя баобаб То есть нужноПримитивныйВо-первых, созданный выпадающий ActiveX листе. Для этого:
контекстного меню слово «плащ». Получилось соответствующие выпадающие списки. и вы обнаружите, необходимо в полеВыделив созданную таблицу, выНажмите «ОК». Например, =ДВССЫЛ($B3). «Файл» программы Excel, таблицах с повторяющимися выпадающим меню разобрался снизу, вставляем другой
в выпадающий список?». выбрать стиль таблицыСпособ 2. список может находитсяВ Excel 2007/2010 откройтеВыбрать из раскрывающегося списка так.У нас есть
что удаленный пункт «Источник» вписать эти увидите, что ейПосле этого в выделенномКак видим, список создан. а затем кликаем данными, очень удобно быстро, код обработчика.Private SubНажмем «Да» и добавиться со строкой заголовка.Стандартный
в двух принципиально вкладку(Choose from drop-down list)Второй уровень связанных выпадающих такие данные на исчез. самые аргументы через было автоматически присвоено диапазоне ячеек появятся
Создание выпадающего списка с помощью инструментов разработчика
Теперь, чтобы и нижние по надписи «Параметры». использовать выпадающий список.а вот задачу Worksheet_Change(ByVal Target As еще одна строка Получаем следующий видСпособ 3. разных состояниях -Разработчик (Developer)или нажать сочетание списков в листе.Если удалить значение из
знак точка с название. Именно его выпадающие списки с ячейки приобрели теВ открывшемся окне переходим С его помощью
с автоматическим подставлением Range) On Error со значением «баобаб». диапазона:Элемент управления режиме отладки, когда. В более ранних клавишExcel.Сделаем из этих данных списка, созданного вручную, запятой (;), после и нужно вписывать указанными значениями.
же свойства, как в подраздел «Настройка можно просто выбирать цены решить не Resume Next If
Когда значения для выпадающегоСтавим курсор в ячейку,Способ 4. можно настраивать его
версиях — панельALT+стрелка внизСначала выберем из форматированную таблицу Excel. просто, то из чего кликнуть на в поле «Источник»
Создать список в Excel и в предыдущий ленты», и ставим нужные параметры из могу!
Not Intersect(Target, Range(«Н2:К2»)) списка расположены на
где будет находитьсяЭлемент ActiveX параметры и свойства, инструментов. Способ не работает, выпадающего списка в Делаем активной любую
Связанные списки
списка, созданного с кнопку «Ок». в окне «Проверка с подстановкой данных раз, выделяем верхние флажок напротив значения сформированного меню. ДавайтеИмеется лист - Is Nothing And другом листе или выпадающий список. ОткрываемСложность двигать его поФормы (Forms) если ячейку и ячейке Е1, чтобы ячейку этих данных.
помощью «умной» таблицыТеперь вы можете убедиться, данных». можно и другим ячейки, и при «Разработчик». Жмем на
выясним, как сделать «Заполнение меню» в Target.Cells.Count = 1 в другой книге, параметры инструмента «Проверка
низкая листу и менятьчерез меню столбец с данными эта ячейка не
Заходим на закладку или наименованного диапазона, что новые введенныеИтак, мы разобрали четыре способом, подразумевающим использование нажатой клавише мышки кнопку «OK».
раскрывающийся список различными
котором два столбца Then Application.EnableEvents = стандартный способ не данных» (выше описансредняя размеры и -Вид — Панели инструментов отделяет хотя бы
была пустой.
«Главная», в разделе еще проще. Вот значения были успешно способа, как создать в виде значений «протаскиваем» вниз.После этого, на ленте способами. — Наименование и False If Len(Target.Offset(1, работает. Решить задачу путь). В полевысокая
режиме ввода, когда
lumpics.ru
Выпадающее меню в Excel: помощь в работе с программой, инструкция, возможности
— Формы (View одна пустая строкаЗатем, как в «Стили» нажимаем кнопку что нужно сделать: добавлены. выпадающий список, теперь данные из указанногоВсё, таблица создана. появляется вкладка сСкачать последнюю версию Цена 0)) = 0 можно с помощью
Как сделать выпадающее меню в Excel
«Источник» прописываем такуюВозможность настройки шрифта, цвета единственное, что можно — Toolbars - или вам нужен первом случае, ставим «Форматировать как таблицу»Откройте лист, на которомЕсли при создании меню разберемся, как его диапазона ячеек. НеобходимыйМы разобрались, как сделать названием «Разработчик», куда Excelв листе - Then Target.Offset(1, 0) функции ДВССЫЛ: она функцию: и т.д. — выбирать из Forms) товар, который еще в пустой ячейке
Способ 1: вводим значения вручную
и выбираем первый находится список пунктов в качестве источника использовать. Это возможно алгоритм действий: выпадающий список в мы и перемещаемся.Самым удобным, и одновременно «Печать меню», строка = Target Else
сформирует правильную ссылку
- Протестируем. Вот наша таблицанет него данные. Переключение
- . Если этой вкладки
- ни разу не (не в таблице) шаблон таблицы. непосредственно самого выпадающего вы указывали непосредственно
- следующим способом:Выделить ячейки, в которых Экселе. В программе
- Чертим в Microsoft наиболее функциональным способом — «Наименование» под Target.End(xlDown).Offset(1, 0) = на внешний источник со списком нанет
- между этими режимами
не видно, то вводился выше: знак «равно». ВыделяемОбязательно ставим галочку у
Способ 2: выбираем диапазон значений
меню. отдельный диапазон ячеек,Наведите курсор на ячейку нужно создать список. можно создавать, как Excel список, который создания выпадающего списка, ней строки с
- Target End If информации.
- одном листе:да
- происходит с помощью нажмите кнопку
- Выделите ячейки с данными, данные столбца А строки «Таблица сВыделите ненужное значение. тогда для добавления со списком и
- На ленте нажмите «Проверка
простые выпадающие списки, должен стать выпадающим является метод, основанный
Способ 3: выбираем именованный диапазон
«Выпадающим списком», что Target.ClearContents Application.EnableEvents =Делаем активной ячейку, кудаДобавим в таблицу новоеКоличество отображаемых строк кнопкиОфис — Параметры Excel
- которые должны попасть (без названия столбца). заголовками».Нажмите правую кнопку мыши. новых значений вам ничего не делайте.
- данных».
- так и зависимые. меню. Затем, кликаем на построении отдельного
- нужно сделать,что бы True End If
- хотим поместить раскрывающийся
значение «елка».всегда 8Режим Конструктора (Design Mode)- в выпадающий список У нас -Нажимаем «ОК». Получилась такаяИз выпадающего меню выберите надо проделать следующие Появится облако, вИз списка «Тип данных» При этом, можно на Ленте на списка данных. на соседнею строку End Sub
Способ 4: используем «умную» таблицу
список.Теперь удалим значение «береза».любоена вкладкефлажок (например, наименованиями товаров). это диапазон А2:А4.
- таблица. пункт «Удалить». действия: котором будет написана выбрать «Список». использовать различные методы
- значок «Вставить», и
- Прежде всего, делаем таблицу-заготовку, «Цена» подставлялась автоматическиЧтобы выбираемые значения отображалисьОткрываем параметры проверки данных.
- Осуществить задуманное нам помоглаБыстрый поиск элемента по
- Разработчик (Developer)Отображать вкладку Разработчик наЕсли у вас ExcelКопируем формулу выделенногоСама эта таблица ужеВ появившемся подменю выберите
- Перейдите на лист, на
подсказка. Однако этоВ графе «Источник» нажать создания. Выбор зависит среди появившихся элементов где собираемся использовать в зависимости от в одной ячейке, В поле «Источник»
Работа с выпадающим меню в Excel
«умная таблица», которая первым буквам: ленте (Office Button 2003 или старше диапазона. Выходим из
- имеет имя. Смотрим «Строки таблицы». котором расположены эти произойдет только в на кнопку справа от конкретного предназначения в группе «Элемент выпадающее меню, а выбранного наименования??? разделенные любым знаком вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).
- легка «расширяется», меняется.нетЕсли эта кнопка нажата, — Excel Options — выберите в ячейки клавишей «Esc». в Диспетчере имен.Нажмите «Ок».
- самые значения. том случае, если и курсором выделить списка, целей его ActiveX» выбираем «Поле
- также делаем отдельнымЗаранее благодарю за препинания, применим такойИмя файла, из которогоТеперь сделаем так, чтобынет то мы можем — Show Developer меню Выделяем ячейки, в
Название этой таблицы можноСтрока будет удалена. Соответственно,Выделите ячейку, которая находится вы ввели значения блок ячеек, данные создания, области применения, со списком». списком данные, которые оказанную помощь!!! модуль. берется информация для
Добавление новых значений в список
можно было вводитьда настраивать параметры выпадающего Tab in theВставка — Имя - которых будем создавать поменять. Нажимаем на будет удален и по центру этого в окне проверки в которых будут и т.д.Кликаем по месту, где в будущем включимAlexMPrivate Sub Worksheet_Change(ByVal списка, заключено в новые значения прямо
Способ 1: ручной ввод
Необходимость использования дополнительной функции списка, нажав соседнюю Ribbon) Присвоить выпадающие списки второго таблицу, заходим на пункт из меню. списка. данных.
- отображаться в списке.Автор: Максим Тютюшев
- должна быть ячейка в это меню.
- : Так? Target As Range) квадратные скобки. Этот в ячейку сИНДЕКС кнопкуНайдите значок выпадающего списка(Insert — Name - уровня. У нас закладку «Конструктор» и
Сейчас разберемся, как убратьНажмите правую кнопку мыши.Наведя стрелку на ячейку,Нажать «ОК».
Способ 2: добавление в обычный диапазон значений
Табличный редактор Excel от со списком. Как Эти данные можноtobleroneOn Error Resume файл должен быть этим списком. Инет
- Свойства (Properties) среди элементов управления Define),
- – это диапазон в разделе «Свойства» выпадающее меню в
- Из появившегося списка выберите
- вы также увидитеПосле этого сразу же
- компании Microsoft обладает видите, форма списка размещать как на
- : Спасибо за выложенный Next
- открыт. Если книга данные автоматически добавлялисьда, которая откроет окно
форм (не ActiveX!).если Excel 2007 F1:F4 (окрашен зеленым пишем свое название Excel полностью. На пункт «Вставить». справа от нее появятся выпадающие списки
Способ 3: добавление в «умную» таблицу или именованный диапазон
огромным перечнем функций появилась. этом же листе файл, многое проясняется,If Not Intersect(Target, с нужными значениями
- в диапазон.нет
- со списком всех Ориентируйтесь по всплывающим или новее -
- цветом). Через функцию таблицы. Мы написали
- самом деле, существует
В новом окне, которое стрелочку, направленную вниз. с выбранными значениями.
Удаление значений из списка
и возможностей. ПоэтомуЗатем мы перемещаемся в документа, так и но мне очень Range(«C2:C5»)) Is Nothing находится в другойСформируем именованный диапазон. Путь:Возможность создания связанных выпадающих возможных настроек для подсказкам - откройте вкладку «Проверка данных» устанавливаем
Способ 1: ручное удаление
имя таблицы – огромное количество способов, откроется, выберите «Строку» После нажатия наЧтобы не выбирать диапазон не удивительно, что «Режим конструктора». Жмем
- на другом, если нужна еще доработка
- And Target.Cells.Count = папке, нужно указывать
- «Формулы» — «Диспетчер списков выделенного объекта:Поле со спискомФормулы (Formulas)
- выпадающий список. В
«Товар». как это сделать, и нажмите «Ок». нее высветится непосредственно ячеек, постоянно переключаясь
Способ 2: удаление из диапазона и «умной» таблицы
в ячейках созданной на кнопку «Свойства вы не хотите,Коллеги помогите!!! 1 Then путь полностью. имен» — «Создать».нет
- Самые нужные и полезные:и воспользуйтесь кнопкой строку «Источник» диалогового
- В этой таблице уже
- но сейчас будет
- Будет добавлена новая пустая сам список с
- с режима ввода, таблицы можно без
- элемента управления».
чтобы обе таблицеСделал выпадающий список,Application.EnableEvents = False
Полное удаление выпадающего меню
Возьмем три именованных диапазона: Вводим уникальное названиеда свойства, которые можноЩелкните по значкуДиспетчер имен (Name Manager) окна вставляем скопированную все столбцы имеют рассмотрен тот, который строка. заданными значениями. можно создать именованный особых проблем создатьОткрывается окно свойств элемента располагались визуально вместе. все работает, но
- newVal = TargetЭто обязательное условие. Выше диапазона – ОК.нет
- и нужно настроить:
- и нарисуйте небольшой, затем формулу.
- динамические диапазоны. Это подразумевает удаление непосредственно
- Введите в нее новоеЧтобы выбрать нужный вариант диапазон и выбирать выпадающее меню в
управления. В графеВыделяем данные, которые планируем мне нужно чтобыApplication.Undo описано, как сделатьСоздаем раскрывающийся список вПод выпадающим списком понимаетсяListFillRange горизонтальный прямоугольник -СоздатьНо формулу снова
значит, если мы
fb.ru
Как сделать связанные выпадающие списки в Excel легко.
самих выпадающих списков, значение, которое хотите из списка, на его. Делается это Excel с подстановкой «ListFillRange» вручную через занести в раскрывающийся при выборе изoldval = Target обычный список именованным
любой ячейке. Как содержание в одной- диапазон ячеек, будущий список.. Введите имя (можно дорабатываем. Ставим две добавим в столбце в то время видеть в выпадающем
него необходимо просто легко: данных. В этой двоеточие прописываем диапазон список. Кликаем правой выпадающего списка определенногоIf Len(oldval) <> диапазоном (с помощью
это сделать, уже ячейке нескольких значений. откуда берутся данные
Щелкните по нарисованному списку любое, но обязательно круглые скобки, четыре ячейку, то диапазон как форматирование и списке. нажать левой кнопкойВ любом месте листа статье будут разобраны ячеек таблицы, данные
кнопкой мыши, и параметра, в следующей 0 And oldval
«Диспетчера имен»). Помним, известно. Источник –
Когда пользователь щелкает для списка. Выделить правой кнопкой мыши
без пробелов и кавычки, два знака увеличится, и это уже выбранные значенияПосле этого во всех мыши. или на другом варианты выполнения этой которой будут формировать
в контекстном меню ячейке автоматически появлялся <> newVal Then что имя не имя диапазона: =деревья. по стрелочке справа, мышью диапазон он и выберите команду начать с буквы!) «&» и, вместо слово сразу автоматически останутся нетронутыми. Итак, выпадающих меню вы
Значения из списка можно листе создайте таблицу задачи. пункты выпадающего списка. выбираем пункт «Присвоить определенный текст илиTarget = Target
может содержать пробеловСнимаем галочки на вкладках
появляется определенный перечень. не даст, надоФормат объекта (Format control) для выделенного диапазона слова «пальто» (это попадет в выпадающий вот что вам можете выбрать только ввести и вручную. с перечнем значений,
Создать выпадающий список можноДалее, кликаем по ячейке, имя…». также выпадающий выбор & «,» & и знаков препинания. «Сообщение для ввода», Можно выбрать конкретное. просто вписать его. В появившемся диалоговом (например имя выделенного диапазона), список. То же необходимо сделать: что добавленный пункт. Однако в случае которые хотите добавить различными способами. Ниже и в контекстном
Открывается форма создания имени.
(например Есть столбец
newValСоздадим первый выпадающий список, «Сообщение об ошибке».Очень удобный инструмент Excel руками с клавиатуры окне задайтеТовары ставим адрес верхней самое и соЗажав левую кнопку мыши, Таким образом, вам
допущения ошибки, а в выпадающий список. будет рассмотрено четыре
меню последовательно переходим В поле «Имя» склад, при выбореElse куда войдут названия
Если этого не для проверки введенных (например, Лист2!A1:A5)Формировать список по диапазону). Нажмите ячейке столбца с столбцом. Пример посмотрим выделите весь диапазон даже не придется
происходит она тогда,Выделите его. метода, которые в по пунктам «Объект вписываем любое удобное склада — рядомTarget = newVal диапазонов. сделать, Excel не данных. Повысить комфортLinkedCell- выделите ячейкиОК первым уровнем выпадающих ниже.
ячеек выпадающего меню, открывать окно «Проверка когда вы вводитеСлева от строки формул некоторой степени отличаются ComboBox» и «Edit». наименование, по которому ячейка заполнялась адресомEnd IfКогда поставили курсор в позволит нам вводить
работы с данными- связанная ячейка, с наименованиями товаров,. списков.Итак, форматированную таблицу которое желаете удалить. данных». пункт, который отсутствует нажмите на область друг от друга.Выпадающий список в Microsoft будем узнавать данный склада или давала
If Len(newVal) =
поле «Источник», переходим
новые значения. позволяют возможности выпадающих куда будет выводиться которые должны попастьВыделите ячейки (можно сразуКстати, если вы сделали. Всё. Осталось
Перейдите на вкладку «Данные».Если вы создали выпадающее в списке, появится имен. Например, вы можете
Excel готов. список. Но, это выбор на выпадающий 0 Then Target.ClearContents на лист иВызываем редактор Visual Basic. списков: подстановка данных, выбранный из списка
excel-office.ru
Выпадающий список в ячейке листа
Видео
в список несколько), в которых выделили диапазон снизу сделать выпадающие списки.
На ленте с инструментами меню при помощи окно, уведомляющее васВведите новое название для
Способ 1. Примитивный
ввести значения спискаЧтобы сделать и другие наименование должно начинаться список нескольких адресовApplication.EnableEvents = True выделяем попеременно нужные Для этого щелкаем отображение данных другого элементСвязь с ячейкой хотите получить выпадающий вверх, то ставите Сначала скопируем адрес нажмите на кнопку именованного диапазона или об этом. создаваемого диапазона. вручную, прописав их ячейки с выпадающим
Способ 2. Стандартный
- обязательно с буквы. по этому складу)End If ячейки.
- правой кнопкой мыши листа или файла,ListRows- укажите ячейку список и выберите адрес ячейки нижней. нужного диапазона, чтобы «Проверка данных». «умной» таблицы, тогдаЭто все. Как можноНажмите Enter. через пунктуационный знак списком, просто становимся Можно также вписатьВыбор поставщика далееEnd SubТеперь создадим второй раскрывающийся по названию листа наличие функции поиска- количество отображаемых куда нужно выводить в меню (на Вообщем, с какой потом не писатьВ появившемся окне выберите добавить новые значения
- заметить, пользоваться выпадающимИменованный диапазон создан, теперь «Точка с запятой», на нижний правый примечание, но это территория отгрузки далееНе забываем менять диапазоны список. В нем и переходим по и зависимости. строк порядковый номер выбранного вкладке) ячейки выделили диапазон, его вручную. пункт «Очистить все». будет проще простого: меню не так его нужно применить
а можете выбрать край готовой ячейки, не обязательно. Жмем
адрес отгрузки (только
на «свои». Списки должны отражаться те вкладке «Исходный текст».Путь: меню «Данные» -Font пользователем элемента.Данные — Проверка (Data ту ячейку иПервый уровень связанных выпадающихНажмите на кнопку «Ок»Перейдите на таблицу с уж и сложно, для отображения выпадающих значения из заранее нажимаем кнопку мыши, на кнопку «OK». по этой территории, создаем классическим способом.
Способ 3. Элемент управления
слова, которые соответствуют Либо одновременно нажимаем инструмент «Проверка данных»- шрифт, размер,Количество строк списка — Validation) указываете (первую выделенную списков в Excel.
- или просто закройте самими значениями. однако порой появляется списков. Для этого созданной таблицы, указав и протягиваем вниз.Переходим во вкладку «Данные» а не все), А всю остальную выбранному в первом клавиши Alt + — вкладка «Параметры». начертание (курсив, подчеркивание- сколько строк. Из выпадающего списка в диапазоне). Мы В любой пустой окно, нажав наУстановите курсор в первой нужда в выполнении при создании самого соответствующий диапазон ячеек.Также, в программе Excel программы Microsoft Excel.
- далее комментарий к работу будут делать списке названию. Если F11. Копируем код Тип данных – и т.д. кроме показывать в выпадающем
Тип данных (Allow) выделили диапазон сверху ячейке пишем «=» красный крестик. - ячейке, идущей сразу некоторых особых функций, списка в окне Есть возможность сделать можно создавать связанные Выделяем область таблицы,
- данной территории отгрузки макросы. «Деревья», то «граб», (только вставьте свои «Список».
- цвета) списке. По умолчаниювыберите вариант вниз, п.э. поставим (знак «равно»), выделяем
- После этого все списки после списка. например, добавление или «Проверка данных» в это и более выпадающие списки. Это где собираемся применятьЗаранее благодарен!!!
На вкладке «Разработчик» находим «дуб» и т.д. параметры).Private Sub Worksheet_Change(ByVal
Ввести значения, из которыхForeColor — 8, ноСписок (List) в формуле адрес ячейки шапки таблицы будут удалены, аВведите туда новый пункт удаление пунктов. Сейчас
Способ 4. Элемент ActiveX
графе «Источник» поставьте сложным методом, подразумевающим такие списки, когда выпадающий список. ЖмемМне совсем не инструмент «Вставить» – Вводим в поле Target As Range) будет складываться выпадающийи можно больше, чегои введите в ячейки Е1. Формула
– это будет на их месте меню. будет рассказано, как знак равенства (=) создание «Умной таблицы» при выборе одного на кнопку «Проверка
понятен диапазон, который «ActiveX». Здесь нам «Источник» функцию вида Dim lReply As список, можно разнымиBackColor не позволяет предыдущий строчку получилась такая. первый выпадающий список. останутся ранее выбранныеНажмите Enter. это сделать. и сразу после или именованного диапазона. значения из списка, данных», расположенную на берется из страницы нужна кнопка «Поле =ДВССЫЛ(E3). E3 – Long If Target.Cells.Count
способами:- цвет текста способ.Источник (Source)=ДВССЫЛ(«Товар[«&$E1&»]»)Копируем это адрес. Нажимаем значения. Теперь выВот и все, новыйЕсли вы планируете использовать него введите название
В общем, сейчас в другой графе Ленте.
- с исходными данными, со списком» (ориентируемся ячейка с именем > 1 ThenВручную через «точку-с-запятой» в и фона, соответственноПосле нажатия назнак равенства иНажимаем «ОК». Получилось так.
- клавишу «Esc» - знаете не только, пункт будет добавлен созданную таблицу долгое диапазона, который только
- обо всем будет предлагается выбрать соответствующиеОткрывается окно проверки вводимых
- так как при на всплывающие подсказки). первого диапазона. Exit Sub If поле «Источник».
- Большим и жирным плюсомОК имя диапазона (т.е.Можно выпадающие списки сделать так выходим из
как создать и в выпадающий список. время, тогда в что создали. После рассказано по порядку. ему параметры. Например, значений. Во вкладке нажатии и наЩелкаем по значку –Бывает, когда из раскрывающегося Target.Address = «$C$2″Ввести значения заранее. А этого способа является
списком можно пользоваться.=Товары на другом листе, ячейки. управлять выпадающим менюС добавлением новых значений какой-то момент вам этого нажмите «Ок»Чтобы добавить в Excel при выборе в «Параметры» в поле формулу инфо не становится активным «Режим списка необходимо выбрать Then If IsEmpty(Target) в качестве источника возможность быстрого переходаЧтобы вместо порядкового номера
Итоговая сравнительная таблица всех способов
). тогда в формулу | Теперь выделяем ячейки, в Excel, но | разобрались, но как может понадобиться добавить | и списки будут выпадающее меню в | |
списке продуктов картофеля, | «Тип данных» выбираем | появляется. | конструктора». Рисуем курсором | |
сразу несколько элементов. Then Exit Sub | указать диапазон ячеек | к нужному элементу | элемента выводилось его | |
Нажмите | перед адресом ячейки | в которые будем | ||
и как его быть, если вам | новые значения в | созданы. | ячейку, можно ввести | |
предлагается выбрать как параметр «Список». В | wild_pig | (он становится «крестиком») | Рассмотрим пути реализации | |
If WorksheetFunction.CountIf(Range(«Деревья»), Target) со списком. | в списке при | название можно дополнительно | ОК |
planetaexcel.ru
Выпадающий список в Excel с помощью инструментов или макросов
напишем название листа устанавливать выпадающий список. удалить. нужно убрать какое-нибудь выпадающее меню вПри желании можно создать данные в список
меры измерения килограммы поле «Источник» ставим: зависимые списки небольшой прямоугольник – задачи. = 0 ThenНазначить имя для диапазона вводе первых букв использовать функцию.
Создание раскрывающегося списка
и поставим восклицательный Мы выделили диапазонАвтор: Вадим Матузок значение из выпадающего Excel, ведь создавать
«умную» таблицу. Она вручную. Этот способ и граммы, а знак равно, и
- toblerone место будущего списка.
- Создаем стандартный список с lReply = MsgBox(«Добавить значений и в с клавиатуры(!), чего
- ИНДЕКС (INDEX)Все! Наслаждайтесь! знак. Е1:Е4 (окрашен в
Здесь мы рассмотрим меню в Excel.
его заново –
Выпадающий список в Excel с подстановкой данных
хороша тем, что актуален тогда, когда при выборе масла сразу без пробелов: а что?Жмем «Свойства» – открывается помощью инструмента «Проверка введенное имя «
- поле источник вписать нет у всех, которая умеет выводитьВажный нюанс. В качестве
- Как еще можно желтый цвет). Вставляем другой вариант, Как и в это не самое в будущем в вы уверены, что растительного – литры пишем имя списка,wild_pig перечень настроек. данных». Добавляем в & _ Target
- это имя. остальных способов. Приятным содержимое нужной по источника данных для применить готовые шаблоны выпадающий список каккак легко прошлый раз, инструкция
разумное решение. Однако, нее будет легко на протяжении всего
и миллилитры. которое присвоили ему
: Если это мне,
Вписываем диапазон в строку исходный код листа & » в
Любой из вариантов даст моментом, также, является счету ячейки из списка может выступать таблиц Excel, читайте обычно. Нажимаем «Проверкасделать связанные выпадающие списки
- полностью зависит от в зависимости от вносить коррективы. Делается пользования таблицей данныеПрежде всего, подготовим таблицу,
- выше. Жмем на то 2 пример ListFillRange (руками). Ячейку, готовый макрос. Как выпадающий список?», vbYesNo
- такой результат. возможность настройки визуального диапазона: и динамический именованный в статье «Готовые данных», выбираем «Список». в Excel
- того, каким методом того, каким методом она следующим образом: не придется видоизменять. где будут располагаться кнопку «OK». из ссылки я куда будет выводиться это делать, описано + vbQuestion) If представления (цветов, шрифтовЭтот способ частично напоминает диапазон, например прайс-лист. таблицы Excel». В диалоговом окне. Ещё один способ вы пользовались для для создания спискаНа другом листе книгиАлгоритм действий: выпадающие списки, иВыпадающий список готов. Теперь, думаю. выбранное значение – выше. С его lReply = vbYesНеобходимо сделать раскрывающийся список и т.д.) предыдущий. Основное отличие Тогда при дописыванииКак сделать связанный «Проверка вводимых значений»
- сделать раскрывающиеся списки, создания этого меню.
- вы пользовались, процедура или вообще вВыделите ячейки, в которых отдельно сделаем списки при нажатии наToblerone85 в строку LinkedCell. помощью справа от
Then Range(«Деревья»).Cells(Range(«Деревья»).Rows.Count + со значениями изПри использовании этого способа, в том, что новых товаров к выпадающий список, фамилии
в строку «Источник» смотрите в статьеНа самом деле удаление
Выпадающий список в Excel с данными с другого листа/файла
добавления новых значений другой книге введите желаете создать выпадающее с наименованием продуктов кнопку у каждой: Коллеги, подскажите пожалуйста. Для изменения шрифта выпадающего списка будут 1, 1) = динамического диапазона. Если также возможно указывать
- на лист добавляется прайсу, они будут в котором можно
- вставляем скопированную формулу «Связанные выпадающие списки значения из списка,
отличается, поэтому разберем в столбик значения, меню. и мер измерения. ячейки указанного диапазонаИз программы выгружаю и размера – добавляться выбранные значения.Private Target End If вносятся изменения в
Как сделать зависимые выпадающие списки
в качестве
не элемент управления, автоматически добавляться к выбирать по алфавиту, шапки таблицы. Но в Excel». созданного ручным способом, каждую по отдельности. которые будут отображаться
- Перейдите на вкладку «Данные».Присваиваем каждому из списков будет появляться список
- данные в Эксель, Font. Sub Worksheet_Change(ByVal Target End If End имеющийся диапазон (добавляются
- ListFillRange а элемент ActiveX выпадающему списку. Еще смотрите в статье формулу нужно доработать.Способ, который мы практически ничем неЕсли из руководства, как в выпадающем списке.На панели инструментов нажмите именованный диапазон, как параметров, среди которых но выгружаются в
Выбор нескольких значений из выпадающего списка Excel
Скачать пример выпадающего списка As Range) On If End Sub или удаляются данные),не только одномерные
- »Поле со списком» одним часто используемым «Связанный выпадающий список Допишем впереди – сейчас рассмотрим удобен отличается от добавления создать выпадающее менюВыделите их. «Проверка данных», данная это мы уже можно выбрать любой таком виде, чтоПри вводе первых букв Error Resume NextСохраняем, установив тип файла они автоматически отражаются диапазоны. Можно, напримериз раскрывающегося набора трюком для таких в Excel по ДВССЫЛ, поставим кавычки тем, что при значений. Вот что в Excel, выНа главной странице в кнопка находится в
- делали ранее с для добавления в применить к цифрам с клавиатуры высвечиваются If Not Intersect(Target, «с поддержкой макросов». в раскрывающемся списке. задать диапазон из под кнопкой списков является создание алфавиту». и круглые скобки. добавлении строк или вам нужно сделать: выбрали ручной способ, разделе «Стили» выберите группе «Работа с обычными выпадающими списками. ячейку.
- «формат ячеек - подходящие элементы. И Range(«Е2:Е9»)) Is NothingПереходим на лист соВыделяем диапазон для выпадающего
двух столбцов иВставить (Insert)
связанных выпадающих списковУ кого мало времени
Получилась такая формула. столбцов в таблицу,Выделите ячейки с выпадающими тогда для добавления
пункт «Форматировать как
данными».
В первой ячейке создаём
Второй способ предполагает создание
денежный" не получается это далеко не And Target.Cells.Count =
списком. Вкладка «Разработчик» списка. В главном нескольких строк, указав
с вкладки
(когда содержимое одного
и нужно быстро
=ДВССЫЛ("Товар[#Заголовки]") все диапазоны в
меню.
новых значений в
таблицу».
В появившемся окне из список точно таким выпадающего списка сне могу банально все приятные моменты 1 Then Application.EnableEvents
Выпадающий список с поиском
- — «Код» - меню находим инструмент дополнительно, что выводитьРазработчик (Developer) списка меняется в ухватить суть -
- Нажимаем «ОК». таблице увеличиваются автоматически,На панели инструментов выберите это самое менюВ появившемся окне выберите списка «Тип данных»
- же образом, как помощью инструментов разработчика,
- применить формулу сумма. данного инструмента. Здесь = False If «Макросы». Сочетание клавиш «Форматировать как таблицу». нужно два столбца: зависимости от выбора
смотрим обучающее видео:
Так как в самой не нужно их пункт «Проверка данных». вам необходимо сделать понравившийся стиль. выберите «Список». делали это ранее, а именно сПжта кто знает, можно настраивать визуальное
exceltable.com
Связанные строки и выпадающее меню (Связанные строки и выпадающее меню)
Len(Target.Offset(0, 1)) = для быстрого вызова
Откроются стили. Выбираем любой. (свойство
Механизм добавления тот же в другом).Кому интересны подробности и
таблице с данными настраивать.В появившемся окне в следующее:
Появится окно, в которомВ графе «Источник» введите через проверку данных. использованием ActiveX. По дайте совет как
представление информации, указывать 0 Then Target.Offset(0, – Alt + Для решения нашейColumnCount — выбираем объектЭтот способ представляет собой нюансы всех описанных диапазоны динамичные, тоОстается просто вносить
поле «Источник» удалитеВыделите ячейки, в которых
надо будет снять значения, которые будут
Во второй ячейке тоже умолчанию, функции инструментов изменить формат чисел в качестве источника 1) = Target
F8. Выбираем нужное
задачи дизайн не=2). Тогда можно получить из списка и вставку на лист способов — дальше если мы добавим нужные данные в ненужное значение. Важно есть выпадающие списки. галочку с пункта отображаться непосредственно в запускаем окно проверки разработчика отсутствуют, поэтомукитин сразу два столбца. Else Target.End(xlToRight).Offset(0, 1) имя. Нажимаем «Выполнить».
имеет значения. Наличие весьма привлекательные результаты, рисуем его на нового объекта - по тексту. столбец, это слово таблицу и все.
удалять его вместе
На панели инструментов нажмите «Таблица с заголовком», самом выпадающем меню. данных, но в нам, прежде всего,: сначала читаем правила,alexey63rus = Target End
Когда мы введем в заголовка (шапки) важно.
окупающие все потраченные листе. А вот
элемента управления «полеОдин щелчок правой кнопкой автоматически увеличится диапазон Остальное сделает сама с точкой запятой.
«Проверка данных». если она таковой
Обязательно вводите их графе «Источник» вводим нужно будет их потом смакуем ответ: Здравствующие уважаемые, If Target.ClearContents Application.EnableEvents пустую ячейку выпадающего
В нашем примере на дополнительные настройки
дальше начинаются серьезные со списком» с мыши по пустой
таблицы и слово таблица — изменитНажмите «Ок».
excelworld.ru
В открывшемся окне для
Даже если вы не умеете программировать, то существует множество мест (книги, сайты, форумы), где можно найти готовый код макросов на VBA для огромного количества типовых задач в Excel. По моему опыту, большинство пользователей рано или поздно собирают свою личную коллекцию макросов для автоматизации рутинных процессов, будь то перевод формул в значения, вывод суммы прописью или суммирования ячеек по цвету. И тут встает проблема — код макросов на Visual Basic нужно где-то хранить, чтобы потом использовать в работе.
Самый простой вариант — сохранять код макросов прямо в рабочем файле, зайдя в редактор Visual Basic с помощью сочетания клавиш Alt+F11 и добавив новый пустой модуль через меню Insert — Module:
При таком способе возникает, однако, несколько неудобств:
- Если рабочих файлов много, а макрос нужен везде, как например макрос преобразования формул в значения, то и копировать код придется в каждую книгу.
- Нужно не забыть сохранить файл в формате с поддержкой макросов (xlsm) или в формате двоичной книги (xlsb).
- При открытии такого файла защита от макросов будет каждый раз выдавать предупреждение, которое нужно подтвердить (ну, или отключить защиту полностью, что может быть не всегда желательно).
Более изящным решением будет создание своей собственной надстройки (Excel Add-in) — отдельного файла особого формата (xlam), содержащего все ваши «любимые» макросы. Плюсы такого подхода:
- Достаточно будет один раз подключить надстройку в Excel — и можно будет использовать её VBA процедуры и функции в любом файле на этом компьютере. Пересохранять ваши рабочие файлы в xlsm- и xlsb-форматы, таким образом, не потребуется, т.к. исходный код будет храниться не в них, а в файле надстройки.
- Защита от макросов вас тоже беспокоить уже не будет, т.к. надстройки по определению входят в доверенные источники.
- Можно сделать отдельную вкладку на ленте Excel с красивыми кнопками для запуска макросов надстройки.
- Надстройка — это отдельный файл. Его легко переносить с компьютера на компьютер, делиться им с коллегами или даже продавать
Давайте рассмотрим весь процесс создания своей собственной надстройки для Microsoft Excel по шагам.
Шаг 1. Создаем файл надстройки
Открываем Microsoft Excel с пустой книгой и сохраняем ее под любым подходящим именем (например MyExcelAddin) в формате надстройки с помощью команды Файл — Сохранить как или клавиши F12, указав тип файла Надстройка Excel (Excel Add-in):
Обратите внимание, что стандартно Excel хранит надстройки в папке C:UsersВаше_имяAppDataRoamingMicrosoftAddIns, но, в приниципе, можно указать любую другую удобную вам папку.
Шаг 2. Подключаем созданную надстройку
Теперь созданную нами на прошлом шаге надстройку MyExcelAddin надо подключить к Excel. Для этого идем в меню Файл — Параметры — Надстройки (File — Options — Add-Ins), жмем на кнопку Перейти (Go) в нижней части окна. В открывшемся окне жмем кнопку Обзор (Browse) и указываем положение нашего файла надстройки.
Если вы все сделали правильно, то наша MyExcelAddin должна появиться в списке доступных надстроек:
Шаг 3. Добавляем в надстройку макросы
Наша надстройка подключена к Excel и успешно работает, но в ней нет пока ни одного макроса. Давайте её наполним. Для этого нужно открыть редактор Visual Basic сочетанием клавиш Alt+F11 или кнопкой Visual Basic на вкладке Разработчик (Developer). Если вкладки Разработчик не видно, то её можно отобразить через Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon).
В левом верхнем углу редактора должно быть окно Project (если его не видно, то включите его через меню View — Project Explorer):
В этом окне отображаются все открытые книги и запущенные надстройки Microsoft Excel, в том числе и наша VBAProject (MyExcelAddin.xlam) Выделите её мышью и добавьте в неё новый модуль через меню Insert — Module. В этом модуле мы и будем хранить VBA-код наших макросов надстройки.
Код можно либо набрать «с нуля» (если вы умеете программировать), либо скопировать откуда-нибудь уже готовый (что гораздо проще). Давайте, для пробы, введем в добавленный пустой модуль код простого, но полезного макроса:
После набора кода не забудьте нажать на кнопку сохранения (дискетку) в левом верхнем углу.
Наш макрос FormulasToValues, как легко сообразить, преобразует формулы в значения в выделенном предварительно диапазоне. Иногда такие макросы называют еще процедурами. Чтобы его запустить, нужно выделить ячейки с формулами и открыть специальное диалоговое окно Макросы с вкладки Разработчик (Developer — Macros) или сочетанием клавиш Alt+F8. Обычно в этом окне отображаются доступные макросы из всех открытых книг, но макросы надстроек здесь не видны. Несмотря на это, мы можем ввести имя нашей процедуры в поле Имя макроса (Macro name), а затем нажать кнопку Выполнить (Run) — и наш макрос заработает:
Здесь же можно назначить сочетание клавиш для быстрого запуска макроса — за это отвечает кнопка Параметры (Options) в предыдущем окне Макрос:
При назначении клавиш имейте ввиду, что здесь учитывается регистр и раскладка клавиатуры. Поэтому, если вы назначите сочетание, например, Ctrl+Й, то, по факту, вам придется в будущем следить за тем, чтобы у вас была включена именно русская раскладка и жать дополнительно Shift, чтобы получить заглавную букву.
Для удобства можно добавить и кнопку для нашего макроса на панель быстрого доступа в левом верхнем углу окна. Для этого выберите Файл — Параметры — Панель быстрого доступа (File — Options — Customize Quick Access Toolbar), а затем в выпадающем списке в верхней части окна опцию Макросы. После этого наш макрос FormulasToValues можно поместить на панель кнопкой Добавить (Add) и выбрать для него значок кнопкой Изменить (Edit):
Шаг 4. Добавляем в надстройку функции
Кроме макросов-процедур, существуют еще и макросы-функции или как их еще называют UDF (User Defined Function = пользовательская функция). Давайте создадим в нашей надстройке отдельный модуль (команда меню Insert — Module) и вставим туда код такой функции:
Несложно сообразить, что эта функция нужна для извлечения НДС из суммы включающей НДС. Не бином Ньютона, конечно, но нам для примера сгодится, чтобы показать основные принципы.
Заметьте, что синтаксис функции отличается от процедуры:
- используется конструкция Function …. End Function вместо Sub … End Sub
- после названия функции в скобках указываются её аргументы
- в теле функции производятся необходимые вычисления и затем результат присваивается переменной с названием функции
Также обратите внимание, что эту функцию не нужно, да и невозможно запустить как предыдущий макрос-процедуру через диалоговое окно Макросы и кнопку Выполнить. Такую макрофункцию нужно использовать как стандартную функцию листа (СУММ, ЕСЛИ, ВПР…), т.е. просто ввести в любую ячейку, указав в качестве аргумента значение суммы с НДС:
… или ввести через стандартное диалоговое окно вставки функции (кнопка fx в строке формул), выбрав категорию Определенные пользователем (User Defined):
Единственный неприятный момент здесь — это отсутствие привычного описания функции в нижней части окна. Чтобы его добавить придется проделать следующие действия:
- Откройте редактор Visual Basic сочетанием клавиш Alt+F11
- Выделите надстройку в панели Project и нажмите клавишу F2, чтобы открыть окно Object Browser
- Выберите в верхней части окна в выпадающем списке свой проект надстройки
- Щелкните по появившейся функции правой кнопкой мыши и выберите команду Properties.
- Введите описание функции в окно Description
- Сохраните файл надстройки и перезапустите Excel.
После перезапуска у функции должно отобразиться описание, которое мы ввели:
Шаг 5. Создаем вкладку надстройки в интерфейсе
Финальным, хоть и не обязательным, но приятным штрихом будет создание отдельной вкладки с кнопкой запуска нашего макроса, которая будет появляться в интерфейсе Excel после подключения нашей надстройки.
Информация об отображаемых вкладках по умолчанию содержится внутри книги и должна быть оформлена в виде специального XML-кода. Проще всего писать и редактировать такой код с помощью специальных программ — XML-редакторов. Одна из самых удобных (и бесплатных) — это программа Максима Новикова Ribbon XML Editor.
Алгоритм работы с ней следующий:
- Закройте все окна Excel, чтобы не было конфликта файлов, когда мы будем редактировать XML-код надстройки.
- Запустите программу Ribbon XML Editor и откройте в ней наш файл MyExcelAddin.xlam
- При помощи кнопки tabs в левом верхнем углу добавьте заготовку кода для новой вкладки:
- В пустые кавычки нужно вписать id нашей вкладки и группы (любые уникальные идентификаторы), а в label — названия нашей вкладки и группы кнопок на ней:
- При помощи кнопки button на панели слева добавляем заготовку кода для кнопки и дописываем к ней теги:
— label — это текст на кнопке
— imageMso — это условное название изображения на кнопке. Я использовал иконку с красной кнопкой, которая имеет название AnimationCustomAddExitDialog. Названия всех доступных кнопок (а их несколько сотен!) можно найти на большом количестве сайтов в интернете, если искать по ключевым словам «imageMso». Для начала можно сходить сюда.
— onAction — это имя процедуры обратного вызова — специального короткого макроса, который будет запускать наш основной макрос FormulasToValues. Назвать эту процедуру можно как угодно. Мы добавим её чуть позже. - Проверить правильность всего сделанного можно с помощью кнопки с зеленой галочкой сверху на панели инструментов. Там же рядом нажмите на кнопку с дискетой для сохранения всех изменений.
- Закрываем Ribbon XML Editor
- Открываем Excel, заходим в редактор Visual Basic и добавляем к нашему макросу процедуру обратного вызова KillFormulas, чтобы она запускала наш основной макрос замены формул на значения.
- Сохраняем внесенные изменения и, вернувшись в Excel проверяем результат:
Вот и всё — надстройка готова к использованию. Наполните её своими процедурами и функциями, добавьте красивые кнопки — и использовать макросы в работе станет намного проще.
Ссылки по теме
- Что такое макросы, как их использовать в работе, где взять код макросов на Visual Basic.
- Как сделать заставку при открытии книги в Excel
- Что такое Личная Книга Макросов и как её использовать