Прикреплённая к статье надстройка содержит модуль, который может создавать панель инструментов любой сложности при запуске файла.
На панель можно добавлять как обычные кнопки, так и раскрывающиеся выпадающие списки, подменю, текстовые поля.
Формирование панели инструментов происходит при загрузке файла, при закрытии же его — созданная панель скрывается:
Private Sub Workbook_Open() ФормированиеПанелиИнструментов End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) GetCommandBar(PROJECT_NAME, True).Visible = False End Sub
Основной код модуля:
' ВНИМАНИЕ! Наличие константы PROJECT_NAME ОБЯЗАТЕЛЬНО! Public Const PROJECT_NAME = "Addin CommandBar" ' список допустимых элементов управления на пользовательской панели инструментов Public Enum CONTROL_TYPES ct_BUTTON = msoControlButton ct_TEXTBOX = msoControlEdit ct_COMBOBOX = msoControlComboBox ct_DROPDOWN = msoControlDropdown ct_POPUP = msoControlPopup End Enum Function Add_Control(ByRef Comm_Bar, ByVal ControlType As CONTROL_TYPES, ByVal B_Face As Integer, _ ByVal On_Action As String, ByVal B_Caption As String, _ Optional ByVal Button_Style As MsoButtonStyle = msoButtonIcon, _ Optional ByVal Begin_Group As Boolean = False, _ Optional Tag As String = "") As CommandBarControl ' добавляет контролы в меню Comm_Bar, возвращает ссылку на созданный пункт меню On Error Resume Next Set Add_Control = Comm_Bar.Controls.Add(Type:=ControlType, Temporary:=True) ' создаём новый контрол With Add_Control If B_Face > 0 And ControlType = ct_BUTTON Then .FaceId = B_Face ' назначаем кнопке иконку .Tag = Tag: .OnAction = On_Action: .Caption = B_Caption ' параметры контрола .BeginGroup = Begin_Group ' добавляем разделитель (при необходимости) If ControlType = ct_BUTTON Then .Style = Button_Style End With End Function
Function GetCommandBar(ByVal CommandBarName As String, Optional ByVal Clean As Boolean = False, _ Optional ByVal Position As MsoBarPosition = msoBarFloating) As CommandBar On Error Resume Next: Err.Clear ' получаем ссылку на пользовательскую панель инструментов Set GetCommandBar = Application.CommandBars(CommandBarName) If Err.Number Then ' если панель не найдена - создаём её Set GetCommandBar = Application.CommandBars.Add(CommandBarName, Position, False, True) End If If Clean Then ' перебираем на ней все элементы, и удаляем их For Each cbc In GetCommandBar.Controls: cbc.Delete: Next End If GetCommandBar.Visible = True ' отображаем панель инструментов End Function Sub УдалениеПанелиИнструментов() GetCommandBar PROJECT_NAME, True End Sub Sub ФормированиеПанелиИнструментов() On Error Resume Next: Application.ScreenUpdating = False ' получаем ссылку на пользовательскую панель инструментов Set AddinMenu = GetCommandBar(PROJECT_NAME, True) ' добавление новых элементов управления на панель Add_Control AddinMenu, ct_BUTTON, 271, "CreateBackup", "Create Backup and Save", , True Add_Control AddinMenu, ct_BUTTON, 1099, "MainMacro", "Запуск основного макроса", msoButtonIconAndCaption, True Add_Control(AddinMenu, ct_TEXTBOX, 0, "ComboChanged", "Курс EURO", , True, "EURO").Text = "Курс EURO" Add_Control(AddinMenu, ct_TEXTBOX, 0, "ComboChanged", "Курс USD", , False, "USD").Text = "Курс USD" Add_Control AddinMenu, ct_BUTTON, 395, "GetRatesFromInternet", "Получить курс с сайта Центробанка", False Dim combo As CommandBarControl ' добавляем выпадающий список Set combo = Add_Control(AddinMenu, ct_COMBOBOX, 548, "ComboChanged", "Выбор продукции", , True, "ПРОДУКЦИЯ") ' добавляем позиции (пункты) в выпадающий список For i = 1 To 10: combo.AddItem "Позиция " & i: Next i combo.Text = "выберите позицию" ' текст комбобокса по умолчанию combo.Width = 145 ' изменяем ширину выпадающего списка на панели инструментов Add_Control AddinMenu, ct_BUTTON, 280, "RenamePhotoes", "Переименование фотографий", , True Dim popup As CommandBarControl ' добавляем выпадающее меню Set popup = Add_Control(AddinMenu, ct_POPUP, 548, "", "Доп. макросы", , True) For i = 1 To 5 ' добавляем пункты в подменю popup Add_Control popup, ct_BUTTON, 70 + i, "AdditionalMacros", "Дополнительный макрос " & i, False, , CStr(i) Next i Add_Control AddinMenu, ct_BUTTON, 222, "EditWorkPlan", "Перейти к редактирования техзадания на программу", , True Add_Control AddinMenu, ct_BUTTON, 1088, "SetIsAddinAsTrue", "Скрыть листы файла программы", , True Add_Control AddinMenu, ct_BUTTON, 1087, "SetIsAddinAsFalse", "Отобразить листы файла программы", , False Add_Control AddinMenu, ct_BUTTON, 548, "ShowFormSettingsPage", "Настройки", , True End Sub
Sub SetIsAddinAsFalse() On Error Resume Next: ThisWorkbook.IsAddin = False End Sub Sub SetIsAddinAsTrue() On Error Resume Next: ThisWorkbook.IsAddin = True End Sub Sub CreateBackup() ' сохраняет файл надстройки, и создаёт резервную копию файла в специальной папке On Error Resume Next If Not ThisWorkbook.Saved Then ThisWorkbook.Save ' сохранение файла ' формируем путь к папке для резервных копий программы BackupsPath = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, PROJECT_NAME & " Backups") ' создаём папку, если она не существует MkDir BackupsPath ' формируем путь для файла резервной копии Filename = PROJECT_NAME & "_BACKUP_" & Format(Now, "DD-MM-YYYY__HH-NN-SS") & ".xls" ' создаём копию файла надстройки ThisWorkbook.SaveCopyAs BackupsPath & Filename End Sub
Sub ComboChanged() ' срабатывает при изменении значения в комбобоксе или текстбоксе On Error Resume Next НазваниеКомбобокса = Application.CommandBars.ActionControl.Tag ТекстКомбобокса = Application.CommandBars.ActionControl.Text MsgBox "Новое значение: """ & ТекстКомбобокса & """", _ vbInformation, "Изменения в полесписке """ & НазваниеКомбобокса & """" End Sub Sub AdditionalMacros() ' срабатывает при нажатии одной из кнопок в подменю On Error Resume Next НомерМакроса = Application.CommandBars.ActionControl.Tag MsgBox "Параметр макроса = """ & НомерМакроса & """", vbInformation, "Запущен макрос из подменю" End Sub
- 79473 просмотра
Не получается применить макрос? Не удаётся изменить код под свои нужды?
Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.
Время на прочтение
1 мин
Количество просмотров 9.7K
Если перед вам стоит задача по автоматизации чего-нибудь в excel, то забудьте про макросы, расположенные непосредственно в книге, создавайте панель инструментов (ribbon), которая
- не зависит от конкретного файла
- располагается в основной панели инструментов
- дает кастомизируемый UI
Для того что бы создать такую панель вам потребуется
1) файл excel с расширением xlam, расположенный в %userprofile%appdataroamingmicrosoftaddins
2) редактор xml ресурса (для разметки кнопок)
3) определить кнопки по примеру
button id="b_MemberSelect" label="Member Select" onAction="p_MemberSelect" imageMso="ReturnToTaskList" size="large"
где p_MemberSelect это процедура VBA
4) в иницилазации процедуры (в файле xlam) нужно передавать предопределенные параметры
Sub p_MemberSelect(ByVal vIRibbonControl As IRibbonControl)
Но у данного решения есть одно ограничение — нет возможности создавать формы, встроенные в панели Excel, например:
Этот пример из проекта In2Sql (плагин для Excel, который визуализирует объекты SQL). В этом плагине код создан с помощью c# и библиотек VSTO.
Содержание
- Excel VBA — создаем свою панель инструментов
- Панель быстрого доступа в Excel
- Практическое применение панели быстрого доступа
- Настройка панели быстрого доступа Excel
- Расширенная настройка
- Изменение расположения
- Настройка панели быстрого доступа в Excel
- Создание панели инструментов для надстройки
- Комментарии
Excel VBA — создаем свою панель инструментов
Если перед вам стоит задача по автоматизации чего-нибудь в excel, то забудьте про макросы, расположенные непосредственно в книге, создавайте панель инструментов (ribbon), которая
- не зависит от конкретного файла
- располагается в основной панели инструментов
- дает кастомизируемый UI
Для того что бы создать такую панель вам потребуется
1) файл excel с расширением xlam, расположенный в %userprofile%appdataroamingmicrosoftaddins
3) определить кнопки по примеру
где p_MemberSelect это процедура VBA
4) в иницилазации процедуры (в файле xlam) нужно передавать предопределенные параметры
Sub p_MemberSelect(ByVal vIRibbonControl As IRibbonControl)
Но у данного решения есть одно ограничение — нет возможности создавать формы, встроенные в панели Excel, например:
Этот пример из проекта In2Sql (плагин для Excel, который визуализирует объекты SQL). В этом плагине код создан с помощью c# и библиотек VSTO.
Источник
Панель быстрого доступа в Excel
Название панели быстрого доступа говорит само за себя. Здесь размещаются те инструменты, которые пользователь использует чаще всего. Более того здесь можно разместить инструменты которых нет на полосе с закладками. Например, «мастер сводных таблиц» и др.
Панель быстрого доступа это первое лучшее решение для пользователей которые переходят из старых версий Excel и не имеют времени на изучения нового интерфейса или его настроек, а хотят сразу приступить к работе.
Данная панель еще полезна в режиме свернутой главной полосы инструментов. Тогда нет необходимости каждый раз выходить из удобного для просмотра и работы режима со свернутой полосой.
Практическое применение панели быстрого доступа
Выше широкой полосы инструментов находится панель быстрого доступа Excel. По умолчанию там расположены 3 самых часто используемых инструмента:
- Сохранить (CTRL+S).
- Отменить ввод (CTRL+Z).
- Повторить ввод (CTRL+Y).
Количество инструментов в панели быстрого доступа можно изменять с помощью настройки.
- При загрузке программы активная ячейка на чистом листе находится по адресу A1. Введите с клавиатуры букву «a» и нажмите «Enter». Курсор сместиться вниз на ячейку A2.
- Щелкните на инструмент «Отменить ввод» (или комбинацию горячих клавиш: CTRL+Z)и текст исчезнет, а курсор вернется на исходную позицию.
- Если выполнить несколько действий на листе (например, заполнить буквами несколько ячеек), то для вас будет доступен выпадающий список истории действий для кнопки «Отменить ввод». Таким образом, вы можете одним щелчком отменить множество действий, что очень удобно.
После отмены нескольких действий доступен список истории для инструмента «Повторить ввод».
Настройка панели быстрого доступа Excel
Панель быстрого доступа – это гибко настраиваемая панель инструментов в Excel для упрощения и улучшения комфортной работы пользователей в программе.
Можно размещать кнопки часто используемых инструментов. Попробуйте самостоятельно добавить кнопку инструмента «Создать».
- С правой стороны сделайте щелчок по выпадающему списку для вызова опций настройки.
- Из появившегося списка выберите опцию «Создать» и добавится инструмент создания новых книг Excel.
- Отметьте еще раз опцию «Создать» из списка настройки, чтобы удалить данный инструмент.
Расширенная настройка
В опциях настройки панели с помощью выпадающего списка только несколько популярных инструментов, но на панель можно добавить любой инструмент, имеющийся в Excel.
- Чтобы гибко настроить содержимое панели быстрого доступа необходимо выбрать опцию «Другие команды». Появится окно «Параметры Excel» с уже выбранным параметром «Панель быстрого доступа». Вызвать данное окно можно и через меню «Файл» опция «Параметры» далее выбираем необходимый параметр.
- Выберете инструмент в левом списке, который желаете часто использовать. Сделайте щелчок на кнопке «Добавить» и нажмите ОК.
- Для удаления инструментов, выберите инструмент из правого списка и нажмите на кнопку «Удалить», а потом ОК.
Изменение расположения
Данную панель при необходимости можно разместить под полосой инструментов, а не над ней.
Откройте выпадающий список и выберите опцию «Разместить под лентой». Данную задачу можно также решить, если воспользоваться контекстным меню. Для вызова контекстного меню необходимо сделать щелчок правой кнопкой мыши непосредственно по панели.
Чтобы вернуть панель обратно (поместив ее над лентой), следует выбрать опцию «Разместить над лентой» аналогичным образом.
Источник
Настройка панели быстрого доступа в Excel
Рассмотрим возможности простой и расширенной настройки панели быстрого доступа в Excel.
Сначала как добавить или удалить кнопки инструментов на панели быстрого доступа. Потом рассмотрим способы размещения панели и добавим к ней инструмент быстрого создания диаграммы.
- Нажмите на стрелочку в низ, чтобы раскрыть выпадающий список опций настройки инструментов на панели быстрого доступа.
- Попробуйте включить или отключить отображения того или иного инструмента щелкнув по нему на выпадающем списке.
- Выберите последнюю опцию выпадающего списка «Разместить под лентой». Панель переместится под ленту вкладок инструментов. В таком режиме панель позволяет разместить значительно большее количество инструментов, к которым нужно часто получать быстрый доступ в процессе работы.
- Верните панель на прежнее место выбрав опцию в списке ее настроек «Разместить над лентой».
- Теперь из выпадающего списка выберите опцию «Другие команды».
- В левой части появившегося окна выберите инструмент «Создать диаграмму» и нажмите на кнопку «Добавить». Иконка выбранного инструмента появится в правой части окна рядом с другими иконками инструментов панели быстрого доступа.
- Нажмите «Ок» и на панели быстрого доступа появится новый инструмент, который был недоступный в выпадающем списке.
Теперь у нас всегда под рукой инструмент, который раньше был доступен только по пути: «Вставка»-«Диаграммы»-«Создать диаграмму».
Существенным недостатком в Excel версии 2007-го года – было отсутствие возможности создавать пользовательские вкладки полосы интерфейса наряду со стандартными вкладками «Главная», «Данные» и др. Пользователям можно было настраивать только панель быстрого доступа.
Уже в 2010-ой версии Excel разработчики из Microsoft учли этот недостаток и расширили настройки панелей инструментов. Добавлены следующие возможности настройки вкладок на полосе:
- Возможность создавать свои закладки со своим набором групп и кнопок.
- Возможность расширять стандартные закладки пользовательскими группами кнопок. Нельзя только удалять и изменять стандартные группы, встроенные по умолчанию.
- Возможность отключать и включать все вкладки на полосе Excel (как пользовательские, так и стандартные).
Эти возможности делают более гибкою настройку рабочей среды Excel. Каждый пользователь теперь может организовать интерфейс программы под собственные предпочтения. Можно создать несколько свих собственных панелей с группами инструментов, предназначены для выполнения разного рода работы с данными. А при необходимости можно включать / отключать их отображения для возвращения в стандартный вид программы.
Все эти возможности рассмотрим на следующем уроке: Как создать новую вкладку в Excel?
Источник
Создание панели инструментов для надстройки
Прикреплённая к статье надстройка содержит модуль, который может создавать панель инструментов любой сложности при запуске файла.
На панель можно добавлять как обычные кнопки, так и раскрывающиеся выпадающие списки, подменю, текстовые поля.
Формирование панели инструментов происходит при загрузке файла, при закрытии же его — созданная панель скрывается:
Основной код модуля:
Комментарии
Ну а чем вам не угодило текстовое поле в моём примере?
(см. поля Курс USD и Курс EUR)
Значения им можно не задавать изначальные, — будут обычные пустые текстовые поля.
есть возможность в саму панель инструментов вставить пользовательское поле?
К примеру как поле выбора шрифта, где можно вручную вставить текст.
задача:
вставлять текст (ctrl+C) -> дальше нажимать нужную кнопку с макросом -> и дальше
Решение с кодировкой описано по этой ссылке
у меня английский excel, со шрифтами беда
Подгрузка своих картинок с диска
Sub ImageFromExternalFile()
Dim Btn As Office.CommandBarButton
Set Btn = Application.CommandBars.FindControl(ID:=30007) _
.Controls.Add(Type:=msoControlButton, temporary:=True)
With Btn
.Caption = «Click Me»
.Style = msoButtonIconAndCaption
.Picture = LoadPicture(«C:TestPic.bmp»)
End With
End Sub
Подгрузка своих картинок из документа
Sub ImageFromEmbedded()
Dim P As Excel.Picture
Dim Btn As Office.CommandBarButton
Set Btn = Application.CommandBars.FindControl(ID:=30007) _
.Controls.Add(Type:=msoControlButton, temporary:=True)
Set P = Worksheets(«Sheet1»).Pictures(«ThePict»)
P.CopyPicture xlScreen, xlBitmap
With Btn
.Caption = «Click Me»
.Style = msoButtonIconAndCaption
.PasteFace
End With
End Sub
Если вопрос личного плана, — на почту или в скайп.
Если надо что-то сделать за денежку, — оформляете заказ.
Если вопрос по Excel (но статьи на сайте нет), — обращайтесь на форумы по Excel (там всегда подскажут и помогут)
Да, не туды в Object Browser’e глянул, извиняюсь.
А если у меня вопрос к Вам, не касающийся этой темы, и подходящей темы нет, то как быть?
Ну а как нет-то. смотрите пример в этой статье
Если вы говорите про msoControlButton на панели инструментов Excel
Оно хорошо, но разве у Button есть свойство FaceID?
Яков, вроде это можно сделать (и даже, по-моему, я делал такое лет 5 назад), — но забыл, как именно.
Возни с этим много, а фактической пользы мало.
Я просто выбираю подходящую среди сотен встроенных в Excel иконок: http://excelvba.ru/code/FaceID
Ещё вопрос: как можно кнопке типа msoControlButton указать свою картинку? Что надо загнать в свойство Picture и какие требования предъявляются к таким иконкам?
Заранее спасибо за ответ)
Здравствуйте (свинтус я, что сразу не поздоровался).
Подход правильный, т.к. суть во внешней подписке, которая слушает эти события — конечная цель в ней, а не в них. Private убирал, но не видит он эти Sub’ы всё равно. Хотя, попробую ещё. А вот вариант «сам-себе-присвоил» красивый. Не знал, что эксель на такое ведётся и событие изменения генерит. Спасибо!
. хотя в идеале всё равно хотелось бы своё событие дёргать, а не штатное.
Здравствуйте, Яков
Самый простой способ вызвать обработчик события, — просто обратиться к нему, как к любому другому макросу.
Ну и конечно, слово Private перед Sub надо убрать:
Код вызова примерно такой:
Второй простой способ вызвать обработчик этого события, — сделать вид, что мы изменили значения в диапазоне:
как-то так
для разных событий — по-разному.
А вообще, подход неправильный
Надо написать макрос, который будет запускаться и из обработчика, и вами напрямую.
PS: Вариант с RaiseEvent не сработает, — он в других случаях применяется.
Как можно (и можно ли) вызвать из макроса, подцепленного к кнопке, любое штатное событие книги/листа/приложения? Нужно как-то «пнуть» обработчик события. Если есть способ дёрнуть RaiseEvent’ом или ещё как свои собственные события — тож хорошо.
Хоть вопрос и не имеет никакого отношения к теме статьи, всё же предложу вариант:
можно метку прописывать в ячейку — заменив в коде Cells(1).ID на range(«h2»).value
Добрый день Игорь. воспользовался Вашим кодом для создания панелей инструментов. У меня возник вопрос : по нажатию на кнопку копировать диапазон данные копируются на лист2 и удаляется столбец. Как запретить повторное копирование так как после повторного нажатия кнопки удаляется столбец на новом листе.
Использую такой код :
‘ Кнопка копирование диапазона»
Sub Copy_Range()
On Error Resume Next
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(5, 1), Cells(LastRow, 5)).Copy Sheets(«Лист2»).Cells(5, 1) ‘ Копирование данных на лист2
Sheets(«лист2»).Columns(«D:D»).Delete Shift:=xlToLeft ‘удаление столбца D
Здравствуйте, вот код который добавляет на ленту в надстройки кнопку:
Sub addinn1()
With Application.Toolbars(1).ToolbarButtons.Add(Button:=222)
.Name = «Кнопка»
.OnAction = «макрос1»
End With
End Sub
Какой вид будет иметь кнопка, зависит от ее id. Мне нужен список с описанием «id — кнопка». Помогите кто чем может!
Здравствуйте!
Создал панель инструментов с кнопкой «Отчеты». Мне нужно ,что бы по нажатии на кнопку «Отчеты» появлялся выпадающий список (кнопки)с надписями(5штук)
Вообще-то можно всё, просто Вы с этим ещё не работали.
Я тоже раньше старался придерживаться совместимости версий, но после того, как убедил руководство полностью перейти на Excel 2010, забыл о нужных только мне проверках. Кстати, некоторые вещи без этих проверок не будут корректно выполняться в обоих версиях: например, при создании условного форматирования.
Но я никогда не писал универсальных программ, — только под чётко поставленное ТЗ (мне время дорого и некогда ждать обратную связь).
Я делаю универсальные программы, которые должны работать во всех версиях Excel (начиная с 2003).
Кроме того, меню в некоторых моих программах формируется динамически (макросом).
Как это сделать в Excel 2007? Никак? вот то-то же.
(т.е. сделать-то можно, но кода будет очень много)
А оставлять поддержку только Excel 2010 (где можно программно формировать панель инструментов на ленте) — ещё рано,
очень много пользователей до сих пор сидят на Excel 2003-2007
К тому же, на мой взгляд, функционал важнее красивого меню.
Хотя, через год планирую перевести часть своих программ (где меню не динамические) на красивые менюшки.
Для создания структуры Ribbon menu (для версий выше 11) есть рабочие программы http://clubs.ya.ru/excel/replies.xml?item_no=724
ЗЫ: Сделал один раз красиво и забыл.
Спасибо за информацию, начну изучать.
XML надо не в VBA добавлять, а в сам файл.
Меню проще сделать вручную, чем писать какой-то хитрый код.
Поищите в гугле Ribbon Editor — есть несколько хороших реализаций.
PS: Тут я вам вряд ли что могу подсказать, — сам ещё ни разу не делал «красивые» меню,
ибо в моих программах важнее совместимость с Excel 2003,
а XML можно добавить только в файлы формата Office 2007 (c 4-буквенным расширением)
Доброго времени суток!
Интересует вопрос использования в разработке кода xml (в данном случае для отображения больших кнопок). С разметкой я знаком, но никак не могу взять в толк, как добавить в VB код XML, можете задать направление для поиска решения моей проблемы?
Добрый!
Отличный сайт много интересных и нужных вещей. Спасибо.
Теперь вопрос: Панельки прикрутил все запускается отлично, но при каждом открытии Excel панельки создаются в одном и том же месте. Как сделать что они были расположены там и где все панели, что небыло необходимости постоянно их убирать в нужное место?
Очень рад,что обнаружил этот сайт.
Скопировал и запустил в лоб, ОТЛИЧНО.
Я уже думал, что от старой версии Excel пользовательские меню и кнопки маросов исчезли навсегда.
Буду посещать сайт узнавать больше. СПАСИБО.
Подскажите, пожалуйста, как сделать кнопки большого размера на ControlBar?
Спасибо за подсказку. Пожалуй, так и сделаю.
Здравствуйте, Максим.
К сожалению, я не знаю способа принудительно сделать перенос кнопок панели инструментов на другую строку.
Я бы посоветовал вам сделать группировку элементов панели — оно и удобнее, и выглядит лучше:
Здравстуйте, Игорь.
Спасибо за предоставленный код — очень помог в создании собственной надстройки.
Возник вопрос. Если контролов (кнопок, текстовых полей, полей ввода и тп) на разрабатываемой панели надстройки будет много, то все они вытягиваются в одну строку. Как переносить контролы на новую строку, чтобы не пришлось прибегать к кнопке скролинга на панели «>>» ?
Excel 2007.
Старайтесь не пользоваться китайской программой Office Tab, чтобы не было таких проблем как у меня! Она, как раз, управляет вкладками и лезет также в панели.
Снёс её и некоторые (к сожалению только некоторые) коды заработали, в том числе и приведённый вами код.
Спасибо за внимание! Вы оперативно отвели на моё письмо. Очень приятно!
Спасибо большое, но это вы уже предлагали. Это установки, а не код.
Ничего не помогает. Приведённые вами и в цитируемой книги коды не производят ничего — в лучшем случае — и выдают сплошные сообщения об ошибках (кстати, эти же коды спокойно работают в Excel 2003!).
Я слышал, что просто невозможно написать код для Office 2010. Да, можно сделать свою панель и разместить на ней кнопки, но. только руками. Причём MacroRecoder при этом ничего не записывает! Это — дополнительное доказательство (во всяком случае для меня), что вот эта-та задача, как раз, и нерешаемая — пока не увижу работающего кода. Но его в сети нет.
Этот код создаёт панель инструментов во всех версиях Excel.
Только в Excel 2007 и 2010 эта панель размещается на ленте во вкладке «Надстройки»:
http://excelvba.ru/articles/CommandBar
Скажите, пожалуйста, есть ли код VBA для создания своей панели инструментоа в Excel 2010?!
Ни один приведённый здесь код не работает.
У меня просто не раегирует даже на CommandBars(«Formatting»).Visible = False
Наверное, в Excel 2010 сделать дто с помощью VBA просто не возможно.
Игорь,
Спасибо, за ответ. Я не программист, а простой пользователь.
Прошу прощения, что не нашел на сайте указанные материалы. Вы создали великолепный сайт. На нем очень много полезной информации, но найти нужное трудно.
Я так и не понял Вашу фразу «Хотя, достаточно один раз сформировать панель инструментов, и не удалять её программно при закрытии Excel — она никуда не денется, кнопки продолжат работать (при первом нажатии на кнопку, Excel сам откроет файл надстройки)».
Я взял ваш код вставил в свою надстройку, панель сформировалась, внес в неё свои макросы и удалил ненужный мне код для других кнопок. После закрытия excel панель не запоминается. Может я чего не правильно сделал. И существует возможность вставлять свои макросы в вашу настройку без работы в VBA. Но методом тыка я их не нашел))
Благодаря книги «Программирование на VBA в Microsoft Office 2010» (с.390) я нашел нужный мне код. Книга размещена на вашем сайте, за что отдельно спасибо.
Public Sub avf_panel()
Dim cbar1 As CommandBar
Dim cControll As CommandBarControl
Dim cId As Variant
Set cbar1 = CommandBars.Add(Name:=»AVF»)
With cbar1
.Enabled = True
.Visible = True
Set cControll = cbar1.Controls.Add(Type:=msoControlButton)
With cControll
.Caption = «Название кнопки»
.TooltipText = «Комментарий кнопки»
.Visible = True
.FaceId = 309 (номер иконки)
.OnAction = «Ваш макрос»
Чтобы создать новую кнопку нужно скопировать-вставить с Set по End With еще раз. Переименовать кнопки и макрос.
Я предвижу гору критики, но надеюсь напоминание. Если что не так, просто удалите это сообщение.
С уважением, AVF
AVF, вы не пробовали сначала поискать ответы у меня на сайте?
Код создания панелей инструментов — единый для всех версий Excel,
только панель инструментов оказывается в разных местах:
http://excelvba.ru/articles/CommandBar
Если в 2007-м нужны КРАСИВЫЕ БОЛЬШИЕ КНОПКИ, то нужно использовать XML (соответственно, файл будет иметь расширение из 4 букв, и в Excel 2003 работать не будет)
Что мешает каждый раз запускать макрос формирования панели инструментов?
Я так и делаю всегда.
Хотя, достаточно один раз сформировать панель инструментов, и не удалять её программно при закрытии Excel — она никуда не денется, кнопки продолжат работать (при первом нажатии на кнопку, Excel сам откроет файл надстройки)
Игорь, спасибо все получилось.
Но возникла новая проблема. Как сделать так, чтобы настройка не терялась при закрытие — новом открытие excel? Чтобы каждый раз не запускать макрос?
Может сохранить настройку нев Xla, а в Personal.xlsb. Но тогда теряется смысл настройки((
Еще вопрос в excel 2003 можно создать свои кнопки про помощи встроенного редактора. В 2007 и далее этой функции нет. Многие формучане дружественных форумах подминали эту проблему и её решение только писать код в VBA. Причем это код «разный» (у каждого мастера свое кун-фу ;^)). Таким образом это решение не для всех. Вопрос: если создать кнопку+панель в 2003 excele, потом сохранить её в формате .xla и запустить в excel 2007, то будет ли она работать (находиться в закладке надстройки, иметь собственные рисунки кнопок + макросы)?
Здравствуйте, AVF.
Для просмотра и выбора значков, я использую специальный макрос, формирующий дополнительное выпадающее меню со значками и их кодами:
http://excelvba.ru/code/FaceID
Добрый день,
Отличный сайт и великолепный Код.
Долго искал как сделать собственную настройку, и наконец все нашел. Спасибо Вам за это.
Вопрос: где можно посмотреть иконки для кнопок и их номера? Если заменить 271 на другое число измениться и иконка.
«Add_Control AddinMenu, ct_BUTTON, 271, «CreateBackup», «Create Backup and Save», , True»
Как использовать свою иконку?
Уважаемый EducatedFool (Игорь), благодарю за то, что поделились наработками по созданию надстроек.
Подскажите, пожалуйста, где можно почитать на пояснения по поводу порядка написания команд и пояснения к ним (фактически интересует построчное пояснение как Вы и написали в предыдущем комментарии.
ПРИМЕР
Add_Control AddinMenu, ct_BUTTON, 271, «НазваниеВашегоМакроса», «Надпись на кнопке», , True
Спасибо, с этим разобрался!
Помогите разобраться, как теперь «привязать» макрос к «дополнительным» макросам из выпадающего списка.
Пробовал решить вопрос по аналогии, но не получилось.
Очень просто.
За добавление кнопок на панель, и назначение им макросов, отвечают эти строки кода:
Чтобы назначить ваш макрос кнопке, добавьте в код надстройки такую строку:
(или замените одну из существующий строк)
Здравствуйте!
Подскажите, пожалуйста, как привязать макрос к созданной (с помощью Вашей надстройки) панели инструментов.
Спасибо.
Вот о Position я и думал, только не знал как с ней справиться))
Еще раз спасибо за код.
Как при запуске поместить панель инструментов рядом с панелью «Стандартная»?
Надо задать значение свойства Position для панели инструментов.
В вашем случае Position = msoBarTop
Кроме того, не помешает последней строкой кода включить обновление экрана.
В итоге код функции будет выглядеть так:
Здравствуйте!
Применил в качестве основы для создания своего меню Ваш код.
Все получилось просто замечательно, спасибо.
Но вот с одним моментом я так и не смог справиться.
Как при запуске поместить панель инструментов рядом с панелью «Стандартная»? Сейчас она располагается просто на рабочем листе.
Смотрел Ваш код, пробовал по всякому, но так и не смог понять, где и как это можно написать в Вашем коде. Подскажите пожалуйста.
Спасибо.
Источник
Содержание
- Общая информация
- Лента
- Создание пользовательской формы
- Элементы управления в панели инструментов
- Элементы управления формой
- Элементы управления ActiveX
- Пример
- Переключатели
- Поле со списком
- Список
- Счётчик
- Встроенный объект для ввода данных Excel
- Как в Excel нарисовать линию
- Как в Excel нарисовать стрелку
- Изображения
- Значки
- Трехмерные модели
- Рисование
- Панель быстрого доступа
Общая информация
Интерфейс Excel 2010 является дальнейшим развитием пользовательского интерфейса, который впервые был использован в выпуске системы Microsoft Office 2007. При создании интерфейса разработчиками была поставлена задача: сделать основные приложения Microsoft Office удобнее в работе. В результате был создан пользовательский интерфейс Microsoft Office Fluent, который упрощает для пользователей работу с приложениями Microsoft Office и дает возможность быстрее получать лучшие результаты.
В предыдущих выпусках приложений Microsoft Office пользователям предоставлялась система меню, панелей инструментов, диалоговых окон. Такой интерфейс работал хорошо, пока в приложениях было ограниченное число команд. Теперь, когда программы выполняют намного больше функций, пользователям становится нелегко работать со старой системой: слишком много программных возможностей, и их трудно найти.
В Office Fluent дизайн пользовательского интерфейса был переработан, чтобы упростить процедуры поиска и использования всего диапазона возможностей, предоставляемых этими приложениями. Кроме того, предполагалось предотвратить загромождение рабочей области — ради того, чтобы пользователи меньше отвлекались на поиск и могли больше времени и энергии тратить на свою работу.
Лента
Главный элемент пользовательского интерфейса Microsoft Excel 2010 представляет собой ленту, которая идет вдоль верхней части окна каждого приложения, вместо традиционных меню и панелей инструментов (рис. 1.1).
Рис. 1.1. Лента
С помощью ленты можно быстро находить необходимые команды (элементы управления: кнопки, раскрывающиеся списки, счетчики, флажки и т.п.). Команды упорядочены в логические группы, собранные на вкладках.
Заменить ленту панелями инструментов или меню предыдущих версий приложения Microsoft Excel нельзя.
Удалить ленту также нельзя. Однако, чтобы увеличить рабочую область, ленту можно скрыть (свернуть).
- Нажмите кнопку Свернуть ленту, расположенную в правой части линии названий вкладок (рис. 1.2).
Рис. 1.2. Сворачивание ленты
- Лента будет скрыта, названия вкладок останутся (рис. 1.3).
Рис. 1.3. Окно со свернутой лентой
Ленту можно свернуть и иначе.
- Щелкните правой кнопкой мыши в любом месте ленты (см. рис. 1.2 ).
- В контекстном меню выберите команду Свернуть ленту.
Для использования ленты в свернутом состоянии щелкните по названию нужной вкладки, а затем выберите параметр или команду, которую следует использовать. Например, при свернутой вкладке можно выделить текст в документе Excel, щелкнуть вкладку Главная и в группе Шрифт выбрать нужный размер шрифта. После выбора размера шрифта лента снова свернется.
Чтобы быстро свернуть ленту, дважды щелкните имя активной вкладки. Для восстановления ленты дважды щелкните вкладку.
Чтобы свернуть или восстановить ленту, можно также нажать комбинацию клавиш Ctrl + F1.
Внешний вид ленты зависит от ширины окна: чем больше ширина, тем подробнее отображаются элементы вкладки. На рисунках приведено отображение ленты вкладки Главная при различной ширине окна.
Рис. 1.4. Отображение ленты вкладки Главная при ширине окна 1024 точки
Рис. 1.5. Отображение ленты вкладки Главная при ширине окна 800 точек
Создание пользовательской формы
Чтобы создать пользовательскую форму, выполните следующие действия:
- Нажмите вкладку РАЗРАБОТЧИК на ленте.
- Нажмите Visual Basic. Откроется окно Visual Basic для книги.
- Нажмите Вставить,
- Выберите UserForm из выпадающего списка.
Пользовательская форма появляется в правой части окна.
Элементы управления в панели инструментов
Пользовательская форма будет иметь разные компоненты. Когда вы нажимаете на любой из компонентов, вам либо будут предоставлены инструкции о том, что и как должна быть предоставлена информация, либо вам будут предоставлены варианты (варианты) для выбора. Все это обеспечивается с помощью элементов управления ActiveX в панели инструментов пользовательской формы.
Excel предоставляет два типа элементов управления – элементы управления формы и элементы управления ActiveX. Вы должны понимать разницу между этими двумя типами элементов управления.
Элементы управления формой
Элементы управления формой – это оригинальные элементы управления Excel, которые совместимы с более ранними версиями Excel, начиная с Excel версии 5.0. Элементы управления формой также предназначены для использования на листах макроса XLM.
Вы можете запускать макросы с помощью элементов управления формы. Вы можете назначить существующий макрос элементу управления, или написать или записать новый макрос. При нажатии на элемент управления макрос. Вы уже научились вставлять командную кнопку из элементов управления формы на листе для запуска макроса. Однако эти элементы управления не могут быть добавлены в пользовательскую форму.
Элементы управления ActiveX
Элементы управления ActiveX могут использоваться в пользовательских формах VBA. Элементы управления ActiveX имеют широкие свойства, которые можно использовать для настройки их внешнего вида, поведения, шрифтов и других характеристик.
У вас есть следующие элементы управления ActiveX в UserForm ToolBox –
- Указатель
- этикетка
- Текстовое окно
- Поле со списком
- ListBox
- CheckBox
- OptionButton
- Рамка
- Кнопка-переключатель
- CommandButton
- TabStrip
- MultiPage
- Полоса прокрутки
- в полях ввода
- Образ
В дополнение к этим элементам управления Visual Basic предоставляет функцию MsgBox, которую можно использовать для отображения сообщений и / или запроса пользователя о действии.
В следующих нескольких разделах вы поймете эти элементы управления и MsgBox. Затем вы сможете выбрать, какой из этих элементов управления требуется для разработки пользовательской формы.
Пример
Разберем конкретный пример применения сразу нескольких Элементов управления. В файле примера с помощью элементов управления показано как пользователь может отредактировать значения в таблице (диапазон F9:K12 ).
С помощью одного из 3-х элементов управления Поле со списком, Список и Счетчик , пользователь может выбрать столбец таблицы (год) . Нужный элемент управления выбирается с помощью группы Переключателей . Название выбранного элемента подсвечивается серым цветом (см. A8:B8 на рис. выше). Выбранный год выделяется в таблице Условным форматированием темно серым цветом (см. H9 :H12 на рис. выше). Отображение этого выделения регулируется Флажком (фон флажка – красный). Полосами прокрутки можно редактировать Цену и Количество в выбранном году, но только в определенном диапазоне.
Переключатели
На листе использовано 3 Переключателя объединенных в Группу . Каждому Переключателю соответствует определенный элемент управления: Поле со списком, Список, Счетчик .
Для объединения Элементов в группу помещаем на лист Элемент управления Группа (через меню ). В рамках группы создаем 3 переключателя (также через меню ) и связываем их все с одной ячейкой С2 (выделив элемент управления, правой клавишей вызываем контекстное меню, Формат объекта …, вкладка Элемент управления ).
Удерживая клавишу CTRL выделяем 3 переключателя и элемент Группа , вызываем правой клавишей мыши контекстное меню и выбираем . Теперь при выборе одного из трех Переключателей в Группе , в ячейке С2 будет выводиться значение 1, 2 или 3.
Поле со списком
Теперь вставим элемент управления Поле со списком . Вставить элемент можно через меню: . В ячейках столбца М введем несколько значений лет: 2009, 2010, 2011, 2012, 2013. Эти значения будут использованы в элементе Поле со списком .
Создадим Именованный диапазон Список .
- выделяем диапазон М9:М12
- нажимаем
уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.
В принципе тема создания своих элементов управления в меню Microsoft Office достаточно специфичная. Обычно задачи при работе с Office из Delphi сводятся к простым действиям, таким как: открыть документ, прочитать/записать данные, закрыть документ. При этом совсем не обязательно, чтобы в меню Office «светилась» кнопка Вашего приложения. Мне создание нового контрола на ленте Microsoft Excel 2007 потребовалось для решения следующей задачи.
Есть две стандартные формы документов, разработанные в Excel. В первую форму заносятся данные по годовым выбросам загрязняющих веществ предприятия. Второй документ — стандартная форма отчёта по затратам предприятия на природоохранные мероприятия — создается на основании первой формы и набора данных и БД по запланированным/выполненным природоохранным мероприятиям. Действия пользователя были следующими: открыть первую форму, записать данные, рассчитать плату за выбросы, открыть вторую форму, записать эти данные, добавить данные из БД (при этом вначале сделать выборку данных), сохранить формы и отправить по адресу или распечатать. В общем рутинная работа. Как можно было избавить и себя и других от подобной рутины? Я написал небольшое приложение, которое при первом запуске создавало свой контрол в меню Excel. При нажатии на кнопку в меню запускалось приложение, которое автоматически вытаскивало все данные из первой формы, рассчитывало издержки, добавляло эти данные во вторую форму и по запросу пользователя выписывало данные из БД. Т.е. по сути вся рутина осталась только на этапе формирования первой формы. При этом не надо было сохранять документ, указывать программе где он лежит и т.д. Все делается не выходя из Excel — нажал на кнопку — получил результат…Что-то я уже полез в специфику работы Перейдем лучше непосредственно к теме поста.
Итак, все элементы управления Microsoft Office располагаются на панелях (коллекция CommandBars), следовательно, чтобы создать какой-либо элемент управления нам необходимо:
1. Получить доступ к коллекции CommandBars;
2. Найти необходимую нам панель (CommandBar);
3. Добавить новый элемент управления (Control) на панель;
4. Указать необходимые свойства для элемента управления (параметры командной строки, иконку и т.д.)
Сейчас я не буду повторяться и расписывать все предварительные процедуры и функции как то: определить установлен ли Excel или как определить запущен ли Excel и т.д. всё это Вы можете найти в статье «Работа с Excel в Delphi. Основы основ.«, а начну сразу с первого пункта списка.
1. Получаем доступ к коллекции CommandBars
Для того, чтобы перечислить все элементы ControlBar из коллекции CotrolBars нам необходимо получить доступ к объекту Excel.Application как это делается описано в этой статье. Пусть ссылка на наш объект будет содержаться в переменной:
Перечислить все элементы коллекции CommandBars объекта Excel.Application можно, используя её свойства:
1. Count — количество элементов в коллекции;
2. Item — отдельный элемент коллекции (CommandBar)
Например, выпишем все имена панелей Excel в ListBox:
var CommandBar:OLEVariant; for i:=1 to MyExcel.CommandBars.Count do begin CommandBar:=MyExcel.CommandBars.item[i]; ListBox1.Items.Add(CommandBar.Name); end;
После выполнения этого цикла у меня в списке ListBox оказалось 164 элемента и некоторые из элементов вообще не имели никакого названия. Но нам это пока не важно. Нам необходимо найти панель с именем Standard — именно на неё мы добавим новый контрол. Для поиска необходимой панели можно воспользоваться методом коллекции FindControl либо, использовать приведенный выше цикл для поиска панели по её имени. Для того, чтобы добавить новый элемент управления на CommandBar необходимо воспользоваться методом Add коллекции CommandBarControls, который имеет следующие параметры:
Type: integer — тип элемента. Может принимать значения: msoControlButton=1, msoControlEdit=2, msoControlDropdown=3, msoControlComboBox=4, или msoControlPopup=10;
Id: integer — идентификатор объекта;
Parameter: string — имя связанной с данным элементом команды;
Before: integer — позиция нового контрола на панели, если параметр не указан то новый элемент добавляется последним в коллекцию.
Temporary: boolean — указывает будет ли новый контрол удален после закрытия создавшего его приложения.
Попробуем добавить новый контрол на панель Microsoft Excel:
var RibbonBar: OLEVariant;//элемент CommandBar с именем Standard NewControls:Variant;//новый элемент управления begin NewControls:=RibbonControlBar.Controls.Add(Type:=1,id:=1); NewControls.Caption:='New Caption';//подпись кнопки NewControls.TooltipText:='c:Windowsnotepad.exe';//подсказка. одновременно может быть использована для запуска приложения NewControls.HyperlinkType:=1;//указывает на то, что по клику будет открыта ссылка NewControls.FaceId:=10;//идентификатор стандартного изображения кнопки NewControls.Style:=3;//стиль кнопки end;
После выполнения этого кода в ленте Excel появится новая вкладка «Надстройки» с кнопкой:
По нажатию на кнопке будем запущен Блокнот. Приведенный выше пример добавления новой кнопки на панель Excel — это один из нескольких способов. В связи с тем, что Microsoft Office 2007 обзавелся новым интерфейсом Ribbon появился как минимум ещё один способ работы с панелями и элементами управления, который является более предпочтительным в настоящее время. Однако мне хватило и приведенного выше ;).
Книжная полка
Название:Разработка приложений Microsoft Office 2007 в Delphi Описание Описаны общие подходы к программированию приложений MS Office. Даны программные методы реализации функций MS Excel, MS Word, MS Access и MS Outlook в среде Delphi. |
Купить на ЛитРес |
0
0
голоса
Рейтинг статьи
уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.
Содержание
- 1 Что такое панель инструментов Excel?
- 2 Ввод данных в панель управления Excel
- 3 Как создать панель управления Excel
- 4 Добавить визуальное обращение и контекст с цветом
- 5 Как Excel Dashboards обновляется автоматически
- 6 Как использовать Excel Dashboards
Создание информационной панели Microsoft Excel включает получение информации из нескольких источников, чтобы вы могли просматривать эти данные в одном месте. Excel предлагает множество способов сделать это, что делает его одним из самых мощных инструментов отчетности на приборной панели, который вы можете использовать.
Информация в этом руководстве относится к Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 и Excel для Mac.
Что такое панель инструментов Excel?
Панель данных — это инструмент, который помогает вам визуально отслеживать и анализировать наиболее важные для вас метрики данных. Вы можете использовать панель мониторинга для мониторинга эффективности вашего бизнеса, эффективности производственного процесса или производительности торгового персонала в вашем отделе продаж.
NicoElNino / Getty Images
Независимо от того, как вы используете панель инструментов, концепция всегда одна и та же. Фоновые электронные таблицы извлекают данные из файлов, служб или подключений API к базам данных и другим источникам. На главном листе будут отображаться данные из этих нескольких листов в одном месте, где вы можете просмотреть все это с одного взгляда.
Типичные элементы панели данных в Excel включают в себя:
- Множество типов графиков
- Различные типы графиков
- Измерительные приборы
- Карты
Существует два типа панелей мониторинга, которые вы можете создать. Для создания отчетов на приборной панели вы можете создать статическая панель из данных других листов, которые вы можете отправить кому-либо в отчете Word или PowerPoint. Или вы можете создать динамическая панель люди видят в Excel, который обновляется всякий раз, когда обновляются данные на других листах.
Ввод данных в панель управления Excel
Первым этапом создания панели мониторинга Excel является импорт данных в электронные таблицы Excel из различных источников.
Потенциальные источники для импорта данных в Excel включают в себя:
- Другие файлы книг Excel
- Текстовые, CSV, XML или JSON файлы
- База данных SQL
- Microsoft Access
- Azure Data Explorer
- Facebook и другие веб-страницы
- Любая другая база данных, которая поддерживает ODBC или OLEDB
- Веб-источники (любой веб-сайт, содержащий таблицы данных)
При таком большом количестве потенциальных источников данных возможность того, какие данные вы можете перенести в Excel для создания полезных панелей мониторинга, безгранична.
Чтобы ввести источник данных:
-
Откройте пустой лист Excel. Выберите Данные меню и в Получить данные В раскрывающемся меню выберите нужный тип данных, а затем выберите источник данных.
-
Найдите файл или другой источник данных, который вы хотите импортировать, и выберите его. Затем выберите Импортировать.
-
В зависимости от выбранного типа источника данных вы увидите различные диалоговые окна для преобразования данных в формат электронной таблицы Excel.
-
Когда импорт будет завершен, вы увидите, что лист заполнен всеми данными из внешнего файла или базы данных.
-
Чтобы обновить данные так, чтобы они регулярно загружали любые изменения, сделанные во внешнем источнике данных, выберите обновление значок на правой стороне Запросы связи панель.
-
Выберите три точки рядом с РЕДАКТИРОВАТЬ ссылку в нижней части окна обновления и выберите свойства.
-
Вы можете настроить обновление данных из источника данных через равные промежутки времени, установив Обновлять каждые хх минут в любой интервал вы хотели бы обновить данные.
Обновление данных из внешних источников полезно, но может потреблять процессорное время, если вы делаете частоту обновления слишком частой. Важно выбирать частоту обновления, при которой данные обновляются примерно так же часто, как они меняются в источнике, но не так часто, чтобы вы копировали одни и те же данные каждый раз. Некоторые источники данных могут обновляться ежедневно, и вы все равно увидите соответствующие обновления на своей панели инструментов.
-
Повторите описанный выше процесс на новых отдельных рабочих листах, пока вы не импортируете все данные, которые хотите использовать на новой информационной панели.
-
Наконец, создайте новый рабочий лист, поместите его в качестве первого рабочего листа в рабочую книгу и переименуйте в Dashboard.
Как создать панель управления Excel
Теперь, когда у вас есть все необходимые данные в вашей книге Excel, и все эти данные обновляются автоматически, пришло время создать панель мониторинга Excel в реальном времени.
Приведенный ниже пример панели инструментов будет основан на данных о погоде, импортированных с веб-сайтов о погоде со всего Интернета.
Иногда, когда вы импортируете данные из внешних источников, вы не можете отобразить импортированные данные. Исправление для этого заключается в создании новой электронной таблицы и в каждой ячейке введите = Преобразования ( и выберите данные из импортированной электронной таблицы. Для параметров устройства просто выберите одинаковые параметры до и после. Заполните весь лист той же функцией, чтобы все данные были скопированы на новый лист и преобразованы в числа, которые вы можете использовать в различных диаграммах, которые вы создадите для своей панели инструментов.
-
Создать Гистограмма для отображения одной точки данных. Например, чтобы отобразить текущую относительную влажность (от 0 до 100 процентов), вы должны создать гистограмму с 0 процентами как самой низкой точкой и 100 процентами как самой высокой точкой. Сначала выберите Вставить меню, а затем выберите 2D кластеризованная колонка гистограмма.
-
в Дизайн диаграммы меню, из Данные группа, выберите Выберите данные.
-
в Выберите источник данных В появившемся окне нажмите на Диапазон данных диаграммы поле, а затем выберите ячейку в электронной таблице данных, которую вы хотите отобразить с помощью этой гистограммы.
-
Измените заголовок диаграммы, чтобы он соответствовал отображаемым данным. Обновите границы оси, чтобы они были от 0 до 100 процентов. Затем переместите диаграмму в область черты, где вы хотите ее отобразить.
-
Повторите те же шаги, что и выше, чтобы создать гистограммы для любых других точек данных, которые вы хотите построить. Сделайте диапазон оси минимальным и максимальным для этих измерений. Например, хороший диапазон атмосферного давления будет от 28 до 32.
Выбор правильного диапазона данных важен, потому что если вы используете только диапазон по умолчанию, масштаб вашей гистограммы может быть слишком большим для отображаемых данных. Это может привести к большим, в основном пустым гистограммам. Вместо этого держите минимальный и максимальный конец шкалы оси лишь немного ниже и выше, чем предельно возможные значения ваших данных.
-
Создать Линия Диаграмма для отображения тенденции данных. Например, чтобы отобразить историю локальных температур для вашей местности, вы должны создать линейную диаграмму, охватывающую последние количество дней данных, которые вы можете импортировать из таблицы веб-сайта о погоде. Сначала выберите меню «Вставка» и выберите 2D область диаграмма.
-
в Дизайн диаграммы меню, из Данные группа, выберите Выберите данные.
-
в Выберите источник данных В появившемся окне нажмите на Диапазон данных диаграммы поле, а затем выберите ячейки в электронной таблице данных, которые вы хотите отобразить с помощью этой линейной диаграммы.
-
Измените заголовок диаграммы, чтобы он соответствовал отображаемым данным. Затем переместите диаграмму в область черты, где вы хотите ее отобразить.
Графики очень гибки при размещении их на приборной панели. Вы можете изменить местоположение, а также размер и форму виджета диаграммы. Используйте эту гибкость, чтобы создавать аккуратно спроектированные панели мониторинга и предоставлять как можно больше информации пользователю панели мониторинга при минимальном объеме пространства.
-
Создать Текстовое окно для отображения строковых данных из листов, которые вы импортировали. Например, чтобы увидеть обновления предупреждений о погоде на панели инструментов, вы можете связать содержимое текстового поля с ячейкой в импортированном листе данных. Для этого выберите Вставить меню, выберите Текст а затем выберите Текстовое окно.
-
Поместите курсор мыши в поле формулы, введите знак равно и затем выберите ячейку в таблице импортированных данных, которая содержит строковые данные, которые вы хотите отобразить.
-
Выберите текстовое поле и используйте Формат Форма окно справа, чтобы отформатировать область отображения текста в вашей приборной панели, как вам нравится.
-
Вы также можете сравнить две точки данных в импортированных таблицах данных, используя круговые диаграммы. Например, вы можете отобразить относительную влажность в виде круговой диаграммы. Сначала выберите данные, которые вы хотите отобразить, и в Вставить выберите 2D пирог диаграмма.
Круговые диаграммы сравнивают два или более значений. Если вы отображаете процент, например, относительную влажность, вам может потребоваться вручную создать другую ячейку, которая вычитает это значение из 100% для второго значения, чтобы сравнить его. Это приведет к круговой диаграмме, которая отображает процентное значение как часть от возможных 100 процентов.
-
Измените заголовок диаграммы, чтобы он соответствовал отображаемым данным. Затем переместите диаграмму в область черты, где вы хотите ее отобразить.
-
Как видите, добавляя различные типы диаграмм данных, вы можете создать полезную панель инструментов, которая отображает все типы данных в одной удобной панели инструментов.
Добавить визуальное обращение и контекст с цветом
Еще один отличный способ внести ясность в вашу панель — это дать понять, хорошие или плохие значения, если они высокие или низкие.
Вы можете сделать это, предоставив гистограмме градиентную заливку, которая отображает предупреждающий цвет, такой как красный, для областей данных, которые могут быть не очень хорошими.
Например, если вы хотите показать, что относительная влажность более 75% неудобна, вы можете соответствующим образом изменить градиентную заливку одиночной гистограммы.
-
Щелкните правой кнопкой мыши по внешней границе гистограммы и выберите Область диаграммы формата.
-
Выберите значок Fill и измените выбор на Градиентная заливка.
-
Выберите каждый значок уровня вдоль линии градиентной заливки и измените цвет и темноту в соответствии с тем, насколько «хорош» или «плох» этот уровень. В этом примере вы можете видеть, что высокая относительная влажность установлена на темно-красный.
-
Вы можете повторить этот процесс для каждой диаграммы, где добавление цветового контекста к диаграмме имеет смысл для этой точки данных.
Как Excel Dashboards обновляется автоматически
После того, как вы создали свою панель мониторинга, вам не нужно беспокоиться о каких-либо действиях по обновлению графики. Все данные в этих диаграммах и виджетах обновляются следующим образом.
- Листы с импортированными данными обновляются в дату, указанную при первом создании импорта данных.
- Любые дополнительные листы, которые вы создали для исправления или переформатирования данных из импортированных листов, будут обновлены новыми данными на этих листах.
- Каждый виджет на панели мониторинга автоматически обновляется, чтобы отображать новые данные на этих обновленных листах для диапазонов, выбранных вами при создании этих диаграмм.
Вам не нужно ничего делать для всех этих обновлений, если открыт файл Excel.
Как использовать Excel Dashboards
Создание информационных панелей в Excel может быть полезно по многим различным причинам. Тем не менее, важно создавать их на основе конкретной потребности, а не пытаться создать одну панель управления, которая делает все.
Например, если вы являетесь менеджером по продажам и заинтересованы в мониторинге эффективности вашей команды по продажам, то на панели мониторинга менеджера по продажам следует сосредоточиться на ключевых показателях эффективности (KPI), связанных с эффективностью продаж.
Hanieriani / Getty Images
Этот вид панели не должен содержать информацию, не связанную с эффективностью продаж, в противном случае панель может стать слишком загроможденной. Из-за загроможденной панели мониторинга становится сложнее увидеть существенные связи и шаблоны данных.
Другие соображения при создании инструментальных панелей:
- Используйте правильные графики для правильных данных.
- Не используйте слишком много цветов по всей приборной панели.
- Разместите панель с похожими данными и типами диаграмм в общих блоках.
- Убедитесь, что каждая диаграмма отображает простые метки и не слишком загромождена информацией.
- Организуйте виджеты в иерархии важности, с наиболее важной информацией в левом верхнем углу панели.
- Используйте условное форматирование, чтобы убедиться, что когда цифры плохие, они красные, а когда они хорошие, они зеленые.
Самое главное, использовать творческий подход для разработки информационных панелей, которые являются не только информацией, но и интересны в использовании.
Автор вопроса: Мария Родина
Опубликовано: 02/04/2023
У нас есть 22 ответов на вопрос Как создать свою панель инструментов в Excel 2010? Скорее всего, этого будет достаточно, чтобы вы получили ответ на ваш вопрос.
- Как создать панель инструментов в Экселе?
- Как создать на панели задач собственную панель инструментов?
- Как закрепить панель инструментов в Excel 2010?
- Сколько панелей инструментов в Excel?
- Каким способом можно добавить панель инструментов?
- Как настроить панель быстрого доступа в Excel 2010?
- Как вернуть панель инструментов в Ворде 2010?
- Как создать свою панель инструментов в Excel 2010? Ответы пользователей
- Как создать свою панель инструментов в Excel 2010? Видео-ответы
Отвечает Никита Карачев
Нажмите кнопку Microsoft Office и выберите пункт Параметры Excel. На левой панели щелкните элемент Настройка. В списке Выбрать команды из выберите элемент Все команды. В списке Настройка панели быстрого доступа выберите пункт Для всех документов (по умолчанию) или укажите определенные документы.Mar 26, 2010
Как создать панель инструментов в Экселе?
Кликните по видимой части панели правой кнопкой мыши и отметьте маркером те компоненты, которые должны отображаться в окне. Альтернативный способ: выберите в меню «Вид» пункт «Панели инструментов» и отметьте маркером в подменю те пункты, которые вам нужны. Строка меню в папках отображается всегда.
Как создать на панели задач собственную панель инструментов?
1. Нажмите на панель задач правой клавишей мыши, выберите “Панели” => “Создать панель инструментов”. 2. Перейдите к папке с нужными инструментами, а возможно вы просто хотите добавить какую-то папку с другими папками как панель инструментов, выберите ее и нажмите на “Выбор папки”.
Как закрепить панель инструментов в Excel 2010?
Дважды щелкните любую вкладку ленты.Щелкните правой кнопкой мыши любую вкладку ленты и выберите » Свернуть ленту».Щелкните правой кнопкой мыши параметры отображения ленты в правом нижнем углу ленты, а затем выберите » Свернуть ленту».Нажмите клавиши CTRL+F1.
Сколько панелей инструментов в Excel?
По умолчанию в Excel отображаются две панели инструментов — Стандартная и Форматирование (можно назвать их проще: стандартная панель инструментов и панель инструментов форматирования).
Каким способом можно добавить панель инструментов?
Настройка панели быстрого доступа с помощью команды «Параметры»Выберите параметры > файлов > панели быстрого доступа.Используйте кнопки «Добавить и удалить» для перемещения элементов между списком «Настройка панели инструментов доступа» и командой «Выбрать» из списка.
Как настроить панель быстрого доступа в Excel 2010?
Настройка панели быстрого доступа с помощью команды «Параметры»Выберите параметры > файлов > панели быстрого доступа.Используйте кнопки «Добавить и удалить» для перемещения элементов между списком «Настройка панели инструментов доступа» и командой «Выбрать» из списка.
Как вернуть панель инструментов в Ворде 2010?
0:235:04Suggested clip 51 secondsПропала ПАНЕЛЬ ИНСТРУМЕНТОВ Word: что делать, как вернутьYouTube
Отвечает Серёжа Малышев
Например, можно создавать собственные вкладки и группы для часто используемых … Раскрывающееся меню «Панель быстрого доступа» над панелью инструментов …
Отвечает Даниил Копейкин
Добавление команд на панель быстрого доступа. Excel для Microsoft 365 …
Отвечает Айваз Белов
Скажите, пожалуйста, есть ли код VBA для создания своей панели инструментоа в Excel 2010?! Ни один приведённый здесь код не работает. У меня просто не раегирует …
Отвечает Игорь Вильданов
Вы можете создать свою собственную вкладку на ленте, наполнить ее группами, а группы – командами Эксель или макросами; Группу команд можно добавить как в …
Отвечает Екатерина Цербер
Как создаётся собственная панель инструментов в Excel. Панель быстрого доступа и режимы просмотра книги. Панель быстрого доступа и режимы просмотра документа …
Отвечает Руслан Аскарян
Как создать собственную панель инструментов · Войдите в меню Сервис (Tools) и выберите команду Настройка (Customize) · Перейдите на вкладку Панели инструментов.
Отвечает Женя Ульянова
Закрепить панель в Excel — Офис Ассист. Как уже было сказано, в программах Microsoft Office 2010 отсутствует такой привычный атрибут программ Windows, как …
Отвечает Иван Туман
… удобная возможность добавлять кнопки команд в панель инструментов. … своей кнопки для запуска макроса на панели в Excel 2007/2010.
Отвечает Павел Лоза
Небанальное руководство Microsoft Excel. Материалы предназначены для пользователей, которые владеют начальными навыками работы с Excel, …
Панель с инструментами в Excel ➤ Секреты эффективной работы в Excel
Как в Excel создать свою вкладку с только нужными вам инструментами? Все подробности в видео. Видео по теме: …
Настройка панелей инструментов в Microsoft Excel
Видео сайтов http://school-pro.ru, http://um-razum.ru В данном уроке рассказывается, как можно настраивать, добавлять или …
Как в экселе закрепить панель инструментов
Видео, как добавить панель инструментов в эксель. Текстовая версия: …
Урок 1. Интерфейс Excel 2013 (лента, панель быстрого доступа, меню)
В уроке рассматриваются различные возможности взаимодействия пользователя с Excel: панель быстрого доступа, лента, …
Обучение Excel — #4 Панель инструментов в Excel
Это занятие мы с вами полностью посвятим подробному разбору панели инструментов программы Excel, которая состоит …