Chamar uma macro do Excel a partir da faixa de opções
Introdução: Eu escrevi algumas macros curtas do Excel (testadas, elas funcionam bem) e quero vinculá-las a um botão na faixa de opções (Excel 2010). Eu já havia feito isso com sucesso no Excel 2007. Estou usando o Custom UI Editor para criar uma nova faixa de opções, que também funciona bem. Tudo é empacotado em um suplemento .xlam e adicionado ao Excel. A faixa de opções aparece bem, todos os outros botões funcionam, mas ...
Problema: ao pressionar o botão vinculado à macro, recebo o erro: "número incorreto de parâmetros ou atribuição de propriedade inválida" (mensagem traduzida do italiano, pode não ser exatamente a mesma em inglês)
Informações sobre solução de problemas: As macros não têm parâmetros. As mesmas macros podem ser chamadas e executadas com sucesso manualmente. Posso até adicionar as mesmas macros à barra de ferramentas de acesso rápid
Aqui está a parte específica do script da faixa de opções:
<group id="DupNumber" label="Number" insertBeforeMso="GroupNumber" >
<comboBox idMso="NumberFormatGallery"/>
<box id="HN1" boxStyle="horizontal">
<buttonGroup id="HNButtonGroup1">
<button id="Euro" onAction="Roberto.xlam!EURZ" imageMso="F" supertip="text ..."/>
<button id="EuroNZ" onAction="Roberto.xlam!EURNZ" imageMso="E" supertip="text ..."/>
<button idMso="PercentStyle"/>
<button id="Comma" onAction="Roberto.xlam!NewCommaFormat" imageMso="C" supertip="test ..."/>
<button idMso="PercentStyle"/>
</buttonGroup>
</box>
e aqui estão as macros:
Sub EURZ()
Application.ActiveCell.NumberFormat = "€ #,##0.00"
End Sub
Sub EURNZ()
Application.ActiveCell.NumberFormat = "€ #,##0"
End Sub
Sub NewCommaFormat()
Application.ActiveCell.NumberFormat = "#,##0"
End Sub
Pode me ajudar? Obrigado Roberto