Arquivo da tag: Macros

Como executar macros em outro arquivo no Excel

Uma funcionalidade interessante de aplicativos Office é a possibilidade de executar macros de outros arquivos, mesmo que estes não estejam abertos.

Para fazer um teste, começe criando um arquivo, no Excel mesmo e crie a seguinte macro:

1
2
Public Sub testeMacro()
    MsgBox "Executou a macro em testeMacro.xls!"

End Sub

A observação aqui é que a macro deve obrigatoriamente Pública, como é mostrado neste exemplo. Grave a pasta de trabalho com o nome testeMacro.xls. Abra agora uma nova pasta de trabalho e nesta, crie uma nova macro com a seguinte código:

1
2
3
Sub teste()
    Application.Run "testeMacro.xls!testeMacro"
End Sub

O método Run serve exatamente para execução de macros no VBA. Salve este arquivo com qualquer nome, porém, na mesma pasta onde a pasta testeMacro.xls foi salva. Agora, execute a macro teste clicando em F5 e veja que o resultado é a MsgBox com a mensagem “Executou a macro em testeMacro.xls!”, conforme haviámos configurado.

Caso queira executar a macro que esteja localizada em algum outro arquivo, basta ao invés de informar somente o nome do arquivo, usar o caminho completo, por exemplo:

1
Application.Run "C:\temp\arquivo.xls!outraMacro"

É possível inclusiva passar parâmetros para tal função, bastando apenas informá-los após a chamada da função, por exemplo, para a macro:

1
2
3
Public Sub testeMacro(ByVal mensagem As String)
    MsgBox mensagem
End Sub

A chamada seria:

1
2
3
Sub teste()
    Application.Run "testeMacro.xls!testeMacro", "Minha mensagem"
End Sub

Abraços

Tomás Vásquez

Excel: O famoso (mas nem tanto) SAMPLES.XLS

Tenho que admitir. Nos fóruns de Excel VBA que frequento, muitas perguntas só pude responder por conta da existência deste arquivo.

O arquivo SAMPLES.XLS é copiado para a pasta SAMPLES que fica dentro da pasta onde o Microsoft Office foi instalado (exceto para o Office 2003). O arquivo contém alguns dos mais utilizados exemplos dos recursos do Microsoft Excel, desde funções até códigos em VBA. O grande destaque é que o arquivo é montado pela esquipe da Microsoft em um padrão muito bem formatado e auto-explicativo. A versão em português não deixa a desejar. Segue uma figura com a cara do arquivo:

Para quem não conseguir encontrar o dito em sua máquina, disponibilizo aqui o link para download. A cópia do arquivo é da própria Microsoft e assinada digitalmente por ela:

SAMPLES.XLS

Bom proveito!

Tomás Vásquez