3
respostas

Erro em tempo de execução 9, subscrito fora do intervalo

Galera, esse erro tá aparecendo no meu código e até agora não soube resolver.

Sub copiabasico()
Workbooks.Open Filename:="G:\Documentos de teste\Cópia de DadosATT_reparar_macro.xlsm"
Workbooks("Cópia de DadosATT_reparar_macro.xlsm").Activate
Sheets(1).Select
ActiveWorkbook.SaveAs Filename:="G:\Documentos de teste\DADALTO GPA 2034561234 18.xlsm"
nomearq = Application.GetOpenFilename 'guarda o nome do arquivo e o caminho dele
nomearq = ActiveWorkbook.Name
Workbooks(nomearq).Activate
Range("c11").Select
Range("c11").Copy
Workbooks.Open Filename:="G:\Documentos de teste\DADALTO GPA 2034561234 18.xlsm"
Workbooks("G:\Documentos de teste\DADALTO GPA 2034561234 18.xlsm").Activate
Sheets(1).Select
Range("c7:f7").PasteSpecial xlValues
UCase (Range("c7:f7"))

End Sub
3 respostas

Vinicius,

Poderia especificar melhor em qual parte do código que ocorre o erro?

Olá, Rafael, o erro ocorre aqui:

Workbooks.Open Filename:="G:\Documentos de teste\DADALTO GPA 2034561234 18.xlsm"

Vinicius,

Executando seu código, ele para nessa linha:

      Workbooks.Open Filename:="G:\Documentos de teste\DADALTO GPA 2034561234 18.xlsm"
-->    Workbooks("G:\Documentos de teste\DADALTO GPA 2034561234 18.xlsm").Activate

Isso ocorre porque o VBA não consegue ativar essa pasta de trabalho em tempo de execução. Use isso:

    Workbooks.Open Filename:="G:\Documentos de teste\DADALTO GPA 2034561234 18.xlsm"
-->    Workbooks(nomearq).Activate

Até breve.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software