Se a funcionalidade for necessária apenas em uma pasta de trabalho; você pode simplesmente adicionar as macros a essa pasta de trabalho e salvá-la como xslm. Isso seria mais fácil.
Mas se a funtionality for necessária para várias pastas de trabalho, você desejará torná-la um suplemento (código que pode ser carregado na cópia de excel de qualquer pessoa) ou talvez uma macro compartilhada, dependendo de suas necessidades.
O código é muito simples. Quando a pasta de trabalho ativada para macro (ou addin) é carregada, adicione uma entrada ao menu de contexto (clique com o botão direito do mouse):
Private Sub Workbook_Open()
With Application.CommandBars("Cell")
With .Controls.Add(Type:=msoControlButton)
.BeginGroup = True
.Caption = "Run Slump"
.OnAction = "doTheSlump"
End With
End With
End Sub
Sempre que as pastas de trabalho forem fechadas (ou desativadas), remova o menu de contexto:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application.CommandBars("Cell")
.Controls("Run Slump").Delete
End With
End Sub
O código é executado, deve estar em um módulo vba. Neste exemplo, ele abrirá o bloco de anotações usando o conteúdo da célula como um caminho de arquivo:
Sub doTheSlump()
retval = Shell("C:\WINDOWS\notepad.exe " + Selection.Value, 1)
End Sub