Nome da macro sendo alterado no Excel

2

Estou criando macros VBA na minha planilha do Excel. Percebo que, de tempos em tempos (depois de salvar a planilha e reabri-la, geralmente), um ou mais dos nomes das macros estão sendo alterados de sheet1.macroname para spreadsheetname.xls!macroname . Este não é um nome de macro válido, portanto, não posso mais executá-lo.

Eu posso consertar o problema excluindo todas as macros, salvando o resultado, colando as macros de volta e salvando novamente, mas não se pode esperar que usuários normais façam isso.

Alguém sabe o que está causando isso e o que eu posso fazer para evitar isso?

Edite com mais detalhes

Quando inicializo a planilha e exibo o diálogo Macro, uma ou às vezes mais das macros parece ter seu nome alterado de sheet1.macroname para spreadsheet.xls!macroname . A tentativa de executar essa macro clicando duas vezes produz a mensagem de erro "O nome da macro não é válido". Fechar a caixa de mensagem de erro e clicar duas vezes uma segunda vez produz a mensagem de erro 'Referência inválida'. Tentativas subseqüentes fazem o mesmo.

Invocando uma macro diferente sheet1.othermacro clicando duas vezes nela funciona e descarta o diálogo de macro. Na nova exibição, a primeira macro mudou seu nome de volta para sheet1.macroname . O que resolve o problema, suponho.

    
por Brian Hooper 12.01.2011 / 09:39

2 respostas

2

Eu encontrei a solução por acaso.

O problema ocorre apenas se o nome do módulo for idêntico ao nome da macro. Então, o módulo tem que ser nomeado de forma diferente. É isso!

    
por 02.02.2016 / 23:53
1

Suspeito que o nome da macro não esteja realmente mudando: se você abrir a caixa de diálogo Macros no Excel quando mais de uma pasta de trabalho estiver aberta, as macros armazenadas na pasta de trabalho atualmente ativa serão exibidas como MarcoName . No entanto, as macros armazenadas em uma pasta de trabalho que está não ativa são exibidas como WorkbookName.xls!MacroName . Dito isso, você tem certeza de que o nome da macro está mudando?

Quando você diz que não pode mais executar a macro, você pode ser mais específico sobre o que exatamente acontece? Nada? Mensagem de erro?

Além disso, você está gravando essas macros ou você mesmo as escreve?

    
por 12.01.2011 / 22:01