Tá faltando os parêntesis na expressão:
Application.Run ("Pasta1!Macro1")
A propósito, você está mandando rodar a macro1 dentro da sub macro1???
Abraço!
O que está causando erro não está nesse trecho do código que você passou.
Estou lhe passando abaixo o help do VBA do Excel. Talvez você consiga detectar a causa do problema.
Eu arriscaria um palpite de que é alguma variável que não está comportando os valores que lhe estão sendo atribuidas, mas teríamos de analisar o código todo.
Veja se o help te ajuda, caso contrário volte a escrever.
Boa sorte e um abraço!
A pilha é uma área de memória de trabalho que cresce e diminui dinamicamente com as demandas do seu programa em execução. Este erro possui as causas e soluções a seguir:
· Você possui um número excessivo de chamadas de procedimento Function, Sub ou Property ativas.
Verifique se os procedimentos não estão aninhados muitos profundamente. Isto é válido principalmente para procedimentos recursivos, ou seja, procedimentos que chamam a si próprios. Certifique-se de que os procedimentos recursivos terminam devidamente. Utilize a caixa de diálogo Chamadas para visualizar quais procedimentos estão ativos (na pilha).
· As suas variáveis locais requerem mais espaço de variável local do que está disponível.
Tente então declarar algumas variáveis em nível de módulo. Você pode também declarar todas as variáveis no procedimento estático precedendo a palavra-chave Property, Sub ou Function por Static. Ou você pode utilizar a instrução Static para declarar variáveis Static individuais dentro de procedimentos.
· Você possui um número excessivo de seqüências de comprimento fixo.
As seqüências de comprimento fixo em um procedimento são acessados mais rapidamente, mas utilizam mais espaço para pilha que as seqüências de comprimento variável, pois os próprios dados da seqüência são inseridos na pilha. Tente redefinir algumas das suas seqüências de comprimento fixo como seqüências de comprimento variável. Quando você declara seqüências de comprimento variável em um procedimento, somente o descritor de seqüências (e não os próprios dados) é inserido na pilha. Você pode também definir a seqüência no nível de módulo onde não se requer espaço para pilha. As variáveis declaradas no nível de módulo são Public como padrão; logo, a seqüência está visível para todos os procedimentos no módulo.
· Você possui um número excessivo de chamadas da função DoEvents aninhadas.
Utilize a caixa de diálogo Chamadas para visualizar quais procedimentos estão ativos na pilha.
· O seu código acionou um evento em cascata.
Um evento em cascata é causado pelo acionamento de um evento que chama um procedimento que já está na pilha. Uma evento em cascata é semelhante a uma chamada de procedimento recursiva, mas é menos óbvia, visto que a chamada é feita pelo Visual Basic em vez de por uma chamada explícita no seu código. Utilize a caixa de diálogo Chamadas para visualizar quais procedimentos estão ativos (na pilha).
Para exibir a caixa de diálogo Chamadas, selecione o botão Chamadas à direita da caixa Procedimento na janela Depurar ou escolha o comando Chamadas. Para obter maiores informações, selecione o item em questão e pressione F1