Criar menus personalizados com ribbons no Excel é uma das formas mais profissionais de transformar uma simples planilha em um verdadeiro sistema.
Ao adicionar botões, ícones e guias específicas, você melhora a usabilidade, organiza melhor os processos e impressiona clientes e usuários com uma interface intuitiva e funcional.
Neste artigo, você vai aprender passo a passo como criar ribbons personalizados no Excel usando XML e VBA, ativar a guia Desenvolvedor e entregar uma experiência de sistema completa, direto na sua planilha.
Como alterar o menu do Excel
Para transformar o menu do Excel em um menu de sistema personalizado, utilizamos um editor de XML prático que permite modificar a estrutura do arquivo Excel. Dessa forma, é possível criar guias e botões personalizados, entregando uma interface profissional e adaptada às necessidades do seu sistema.
Editor Ribbon o Excel
A partir da versão 2007, os arquivos do Excel passaram a ser estruturados em XML. Para personalizar a guia de menu do Excel e criar um ribbon personalizado, é necessário utilizar uma ferramenta externa que permita a edição desse XML, como o Custom UI Editor. Com isso, é possível adicionar guias, grupos e botões personalizados, transformando sua planilha em um sistema completo.
- Para realizar o download clique neste link https://github.com/fernandreu/office-ribbonx-editor/releases/tag/v1.6
- Baixe a versão msi do sistema, ele é um instalador do sistema. Pode ser que precise de permissão de administrador para instalar.
- Após instalar procure o sistema pelo nome Office RibbonX Editor. Se preferir crie um ícone na área de trabalho ou na sua barra inferior do Windows.
Criando a primeira Ribbon Excel
Cabe ressaltar que no exemplo criado os grupos mso <group idMso=”GroupEnterDataAlignment” />, <group idMso=”GroupEnterDataNumber” />, e <group idMso=”GroupQuickFormatting” />, não constam no Excel, parecendo ser uma falha do exemplo criado pelo sistema.
Clique no programa Office RibbonX Editor
Clique no botão Open, nele você deve selecionar o arquivo que terá a sua faixa de opções criada/editada.
A criação do ribbon é padronizada, são edições padrão de XML.
Então, a forma mais fácil de criar uma guia personalizada é clicar em Insert->Sample XML->Excel – A Custom Tab.xml
O sistema irá trazer o seguinte código XML
O sistema terá criado um Ribbon padrão de exemplo. Clique em Salvar e depois feche o programa e abra a sua planilha. Este será o resultado.
Então temos a guia chamada Contoso, nome padrão dest exemplo e temos também a criação de um grupo com a área de transferência, outro da Fonte, ambos padrão do Excel, e uma guia customizada, chamada Contoso Tools.
Vamos entender os elementos do XML e como editá-los.
customUI: Nome da ribbon criada.
tab: é a guia criada na faixa personalizada de opções do Excel, nela que definimos o nome, o ícone, grupo e os botões do mesmo.
id: customTab, é único, é o nome da Tab.
label: Contoso, o nome que irá constar na ribbon.
insertAfterMso: TabHome, identifica que será incluso após a guia Home. Para saber o nome de todos os objetos que há na Ribbon, use esta planilha da Microsoft, aonde estão todos elencados, filtre por Tab no caso das guias: Baixe a planilha
group: são os grupos criados na guia.
id: GroupClipboard, este campo é o nome do grupo que está sendo criado ou evocado. Neste caso está sendo chamado um grupo padrão, vide o download anterior com os objetos, procure por Group no CustomType da planilha ExcelControls disponibilizada no download acima para ver as outras guias padrões
id: CustomGroup, este é um exemplo de um grupo customizado, se procurar na planilha disponibilizada, verá que este campo não consta, pois é um nome não padrão.
label: Contoso Tools, é o nome que a guia personalizada CustomGroup receberá no Excel.
button: é o botão que será criado, no exemplo é um botão criado dentro da guia personalizada CustomGroup que está dentro da sua hierarquia, ao ser acionado no Excel ele irá realizar uma ação.
id: customButton1, o nome do botão, este valor é único.
label: ConBold, o nome que irá aparecer no botão no Excel.
size: large, o tamanho que o botão terá na sua ribbon Excel, no caso grande.
onAction: conBoldSub, o nome do procedimento que será disparado pelo Excel no momento em que o botão é clicado. A criação deste procedimento será visto mais abaixo, ele é diferente de um evento padrão do VBA Excel.
imageMso: Bold, esta propriedade define que será utilizada uma imagem padrão do Office para o ícone que constará na Ribbon. Neste link há uma lista com as imagens e os ícones padrão do Excel: https://bert-toolkit.com/imagemso-list.html, podendo também baixar esta planilha em que constam os ícones no menu: Baixe a planilha
Customizar a Ribbon Excel com seus ícones e procedimentos
Com o exemplo criado e conforme a explicação acima você consegue já colocar o nome do procedimento do Excel que será disparado no momento em que for clicado no botão, iremos agora alterar o ícone, utilizando um ícone não padrão do Mso.
- Procure na internet um arquivo no tamanho 32×32, pode ser um png, este será o ícone que deverá usar abaixo.
- Clique no botão Insert-<Icons…
- Aonde está imageMso=”Bold” por exemplo, altere para image=”guiadoexcel”, coloque no lugar de guiadoexcel o nome do ícone que você incluiu, o nome é case sensitive, ou seja, diferencia maiúsculas e minúsculas, inclusive, isso é padrão para toda a Ribbon.
- Salve e feche o editor de ribbon Excel. Abra a pasta de trabalho Excel e veja o resultado.
Executando a sua procedure VBA pela Ribbon Excel
Para criar o procedimento no VBA do Excel você deve clicar no botão Generate Callbacks, aonde será criado então o código fonte para o evento click do botão Ribbon do Excel.

Ao clicar no botão são gerados os códigos para os eventos dos botões do VBA.

Os códigos acima são então criados, basta então chamar os procedimentos que desejar dentro destes eventos ou senão inserir diretamente os códigos fontes.
Para colocar o código fonte, faça o seguinte exemplo.
- No Excel pressione ALT+F11 e clique em Inserir->Módulo
- No módulo incluído clique duas vezes e cole o seguinte código
'Callback for customButton1 onAction
Sub conBoldSub(control As IRibbonControl)
MsgBox control.ID
End Sub
'Callback for customButton2 onAction
Sub conItalicSub(control As IRibbonControl)
MsgBox control.ID
End Sub
'Callback for customButton3 onAction
Sub conUnderlineSub(control As IRibbonControl)
MsgBox control.ID
End Sub
No código acima foi incluso apenas o código MsgBox control.ID para retornar o ID do botão, mas pode ser chamado qualquer outro código no botão.
Download Planilha Menu de Sistemas Excel
Realize o download da planilha Excel neste botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.











