Pessoal,
Estou com uma duvida e um problema que nao sei como resolver.
Tenho uma rotina que abre vários arquivos na rede e faz alguns ajustes. Até ai a macro roda perfeitamente, porem estou fazendo mais uma rotina para abertura de um outro arquivo e nao sei dizer o porque a rotina para de funcionar e nao da nenhuma mensagem de erro, ela simplesmente reinicia novamente.
Chegando nessa parte do codigo:
Workbooks.Open (n_caminho & "\" & n_arquivo_GR)
ela abre o arquivo normalmente e nao prossegue voltando ao inicio do ciclo.
Alguem ja viu isso acontecer e sabe o que pode ser????
Tenho outras rotinas na planilha com a mesma instrução e funciona perfeitamente.
Quanto ao arquivo que esta sendo aberto tb nao há problema, abri o mesmo nas rotinas que "estao funcionando" e ele segue o ciclo até o fim.
@jokerpot o ideal seria colocar a rotina inteira pra saber que ciclo não da continuidade, só pela instrução que postou não da pra ter noção pois ela é para abrir um arquivo e voce disse que ate ai funciona perfeitamente.
Uma outra dica é inserir alguns pontos de interrupção teclando F9 nas linhas seguintes a essa instrução forçando a rotina dar uma pausa e então você da sequencia teclando o F8 e seguir a rotina passo a passo.
[]s
@coutinho Boa Tarde!
Abaixo coloquei parte do código.
Basicamente pego o diretorio e nome do arquivo em uma aba chamada parametros e apos isso eu abro o arquivo.
Como disse a Macro nao gera erros, ela abre o arquivo normalmente porem estranhamente nao continua o processo e termina a rotina e volta ao inicio.
Com o F8 ela chega nessa etapa: Workbooks.Open (n_caminho & "\" & n_arquivo_a) abre normal e para.
Como disse tenho outras macros dentro do mesmo arquivo que tem a mesma instrução e rodam tranquilamente.
O que é mais estranho é que e outra macro com as mesmas instruções o arquivo abre e vai até o fim, mas no codigo abaixo ela para.
Sub Arquivo_A()
'Define o nome dos arquivos em variáveis
'-----------------------------------------------------------
n_fechamento = ActiveWorkbook.Name
n_aba_fecha = ActiveSheet.Name
'Colhe o nome do arquivo a ser aberto e local
'-----------------------------------------------------------
n_caminho = Sheets("Parametros").Range("B48").Value
n_arquivo_a = Sheets("Parametros").Range("B49").Value
'Colhe a ultima linha prenchida do arquivo
'------------------------------------------------------------
u_lin = Sheets(n_aba_fecha).Range("A1048576").End(xlUp).Row
u_col = Cells(5, Cells.Columns.Count).End(xlToLeft).Column
On Error Resume Next
'Abre o arquivo
'------------------------------------------------------------
Workbooks.Open (n_caminho & "\" & n_arquivo_a)
'Mensagem de erro caso ocorra problemas com o diretorio, nome do arquivo ou extensão do arquivo
'-----------------------------------------------------------------------------------------------------
If Not Err.Number = 0 Then
n_RESP = MsgBox("ATENÇÃO!!!" + vbCrLf + "Verifique os parâmetros:" + vbCrLf + "O caminho de abertura, Nome do Arquivo a ser aberto OU Extensão do Arquivo estão INCORRETOS." + vbCrLf + vbCrLf + " ", vbCritical, " ")
Exit Sub
End If
Range("a4").Select
End Sub
A macro não está gerando tela de erro por conta deste comando:
On Error Resume Next
Experimente retirar/comentar essa linha e rode novamente, deve apresentar o erro. Tire um print e cole aqui.
@raygsson Boa Noite.
Não deu certo tb.
Comentei as instruções dos erros, a macro abriu a planilha porem nao continuou a rotina voltando ao inicio.
Confesso que nunca vi isso antes.
@raygsson Boa Noite.
Não deu certo tb.
Comentei as instruções dos erros, a macro abriu a planilha porem nao continuou a rotina voltando ao inicio.
Confesso que nunca vi isso antes.
Eu ia dizer o mesmo que o colega raygson, mas como voce testou e ficou na mesma está dificil de entender porque a principio se na macro são só essas linhas, é uma macro básica, tanto que testei aqui e forcei erros com o nome e caminho do arquivo e funcionou corretamente, chega abrir o arquivo pula pra linha "Range("a4").Select" e encerra a rotina, e forçando o erro vai até a mensagem do erro e sai da rotina.
Não temos nenhumas outras instruções que omitiu dentro dessa rotina ? porque a principio ela só te de abrir um arquivo e selecionar uma celula.
Como a mesma é executada ? Se é chamada por alguma outra verifique se tem alguma instrução diferente.
Se a rotina retorna ao inicio apos abrir o arquivo ela deveria dar uma mensagem de erro porque o arquivo aberto não teria a aba "Parametros" e isso geraria outro erro.
Fora isso, só tendo os arquivos para se testar. Qual versão do excel está utilizando ? Eu uso o excel 2007 ainda.
[]s
Mauro Coutinho