- 23 Out 2018 às 11:13
#37995
Senhores, é o seguinte.
Possuo uma macro que tem como função, abrir arquivos específicos (que estão dentro de determinada pasta), copiar as planilhas contidas nesses arquivos, colar em uma nova PLANILHA BASE, e por fim, fechar todas as planilhas que foram abertas, mantendo no final apenas a PLANILHA BASE.
O processo então é:
ABRIR - COPIAR - COLAR - FECHAR
O problema é o seguinte, tratam-se de planilhas mensais, que podem variar, ou seja, às vezes teremos 10 planilhas dentro de determinada pasta, às vezes 5 planilhas, às vezes 3... e assim por diante. Então quando a macro vai buscar na pasta, SE não tiver a planilha "AGOSTO 18" por ex, dará erro, mas em alguns casos eu terei a planilha "AGOSTO 18". Eu quero que, não encontrando um arquivo especificado na macro, ele ignore e continue executando a macro, abrindo as planilhas existentes naquele momento.
Não sei se fui claro o suficiente, se precisarem de mais informações, é só falar.
Att,
Trecho do código:
'JUNHO 18 ------------------------------------------------------------------------
ChDir "C:\Users\Documents\Planilhas Base"
Workbooks.Open Filename:= _
"C:\Users\Documents\Planilhas Base\JUNHO 18.xlsx"
Cells.Select
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("JUN_18").Select
Cells.Select
Range("A277").Activate
ActiveSheet.Paste
Windows("JUNHO 18.xlsx").Activate
Sheets("EVENTOS").Select
Range("A1:BX320").Select
Application.CutCopyMode = False
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("JUN_18").Select
Range("A300").Select
ActiveSheet.Paste
Application.Run "Módulo3.APAGAR_OK"
Application.Run "Módulo3.FORMATAR_DADOS_3"
Application.Run "Módulo3.GERAR_TITULO_EVENTOS"
Range("A1").Select
Sheets("RESUMO").Select
Range("A1").Select
Windows("JUNHO 18.xlsx").Activate
ActiveWorkbook.Close
'JULHO 18 ------------------------------------------------------------------------
ChDir "C:\Users\Documents\Planilhas Base"
Workbooks.Open Filename:= _
"C:\Users\Documents\Planilhas Base\JULHO 18.xlsx"
Cells.Select
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("JUL_18").Select
Cells.Select
Range("A277").Activate
ActiveSheet.Paste
Windows("JULHO 18.xlsx").Activate
Sheets("EVENTOS").Select
Range("A1:BX320").Select
Application.CutCopyMode = False
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("JUL_18").Select
Range("A300").Select
ActiveSheet.Paste
Application.Run "Módulo3.APAGAR_OK"
Application.Run "Módulo3.FORMATAR_DADOS_3"
Application.Run "Módulo3.GERAR_TITULO_EVENTOS"
Range("A1").Select
Sheets("RESUMO").Select
Range("A1").Select
Windows("JULHO 18.xlsx").Activate
ActiveWorkbook.Close
'AGOSTO 18 ------------------------------------------------------------------------
ChDir "C:\Users\Documents\Planilhas Base"
Workbooks.Open Filename:= _
"C:\Users\Documents\Planilhas Base\AGOSTO 18.xlsx"
Cells.Select
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("AGO_18").Select
Cells.Select
Range("A277").Activate
ActiveSheet.Paste
Windows("AGOSTO 18.xlsx").Activate
Sheets("EVENTOS").Select
Range("A1:BX320").Select
Application.CutCopyMode = False
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("AGO_18").Select
Range("A300").Select
ActiveSheet.Paste
Application.Run "Módulo3.APAGAR_OK"
Application.Run "Módulo3.FORMATAR_DADOS_3"
Application.Run "Módulo3.GERAR_TITULO_EVENTOS"
Sheets("AGO_18").Select
Range("A1").Select
Sheets("RESUMO").Select
Range("A1").Select
Windows("AGOSTO 18.xlsx").Activate
ActiveWorkbook.Close
'SETEMBRO 18 ------------------------------------------------------------------------
ChDir "C:\Users\Documents\Planilhas Base"
Workbooks.Open Filename:= _
"C:\Users\Documents\Planilhas Base\SETEMBRO 18.xlsx"
Cells.Select
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("SET_18").Select
Cells.Select
Range("A277").Activate
ActiveSheet.Paste
Windows("SETEMBRO 18.xlsx").Activate
Sheets("EVENTOS").Select
Range("A1:BX320").Select
Application.CutCopyMode = False
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("SET_18").Select
Range("A300").Select
ActiveSheet.Paste
Application.Run "Módulo3.APAGAR_OK"
Application.Run "Módulo3.FORMATAR_DADOS_3"
Application.Run "Módulo3.GERAR_TITULO_EVENTOS"
Range("A1").Select
Sheets("RESUMO").Select
Range("A1").Select
Windows("SETEMBRO 18.xlsx").Activate
ActiveWorkbook.Close
Possuo uma macro que tem como função, abrir arquivos específicos (que estão dentro de determinada pasta), copiar as planilhas contidas nesses arquivos, colar em uma nova PLANILHA BASE, e por fim, fechar todas as planilhas que foram abertas, mantendo no final apenas a PLANILHA BASE.
O processo então é:
ABRIR - COPIAR - COLAR - FECHAR
O problema é o seguinte, tratam-se de planilhas mensais, que podem variar, ou seja, às vezes teremos 10 planilhas dentro de determinada pasta, às vezes 5 planilhas, às vezes 3... e assim por diante. Então quando a macro vai buscar na pasta, SE não tiver a planilha "AGOSTO 18" por ex, dará erro, mas em alguns casos eu terei a planilha "AGOSTO 18". Eu quero que, não encontrando um arquivo especificado na macro, ele ignore e continue executando a macro, abrindo as planilhas existentes naquele momento.
Não sei se fui claro o suficiente, se precisarem de mais informações, é só falar.
Att,
Trecho do código:
'JUNHO 18 ------------------------------------------------------------------------
ChDir "C:\Users\Documents\Planilhas Base"
Workbooks.Open Filename:= _
"C:\Users\Documents\Planilhas Base\JUNHO 18.xlsx"
Cells.Select
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("JUN_18").Select
Cells.Select
Range("A277").Activate
ActiveSheet.Paste
Windows("JUNHO 18.xlsx").Activate
Sheets("EVENTOS").Select
Range("A1:BX320").Select
Application.CutCopyMode = False
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("JUN_18").Select
Range("A300").Select
ActiveSheet.Paste
Application.Run "Módulo3.APAGAR_OK"
Application.Run "Módulo3.FORMATAR_DADOS_3"
Application.Run "Módulo3.GERAR_TITULO_EVENTOS"
Range("A1").Select
Sheets("RESUMO").Select
Range("A1").Select
Windows("JUNHO 18.xlsx").Activate
ActiveWorkbook.Close
'JULHO 18 ------------------------------------------------------------------------
ChDir "C:\Users\Documents\Planilhas Base"
Workbooks.Open Filename:= _
"C:\Users\Documents\Planilhas Base\JULHO 18.xlsx"
Cells.Select
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("JUL_18").Select
Cells.Select
Range("A277").Activate
ActiveSheet.Paste
Windows("JULHO 18.xlsx").Activate
Sheets("EVENTOS").Select
Range("A1:BX320").Select
Application.CutCopyMode = False
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("JUL_18").Select
Range("A300").Select
ActiveSheet.Paste
Application.Run "Módulo3.APAGAR_OK"
Application.Run "Módulo3.FORMATAR_DADOS_3"
Application.Run "Módulo3.GERAR_TITULO_EVENTOS"
Range("A1").Select
Sheets("RESUMO").Select
Range("A1").Select
Windows("JULHO 18.xlsx").Activate
ActiveWorkbook.Close
'AGOSTO 18 ------------------------------------------------------------------------
ChDir "C:\Users\Documents\Planilhas Base"
Workbooks.Open Filename:= _
"C:\Users\Documents\Planilhas Base\AGOSTO 18.xlsx"
Cells.Select
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("AGO_18").Select
Cells.Select
Range("A277").Activate
ActiveSheet.Paste
Windows("AGOSTO 18.xlsx").Activate
Sheets("EVENTOS").Select
Range("A1:BX320").Select
Application.CutCopyMode = False
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("AGO_18").Select
Range("A300").Select
ActiveSheet.Paste
Application.Run "Módulo3.APAGAR_OK"
Application.Run "Módulo3.FORMATAR_DADOS_3"
Application.Run "Módulo3.GERAR_TITULO_EVENTOS"
Sheets("AGO_18").Select
Range("A1").Select
Sheets("RESUMO").Select
Range("A1").Select
Windows("AGOSTO 18.xlsx").Activate
ActiveWorkbook.Close
'SETEMBRO 18 ------------------------------------------------------------------------
ChDir "C:\Users\Documents\Planilhas Base"
Workbooks.Open Filename:= _
"C:\Users\Documents\Planilhas Base\SETEMBRO 18.xlsx"
Cells.Select
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("SET_18").Select
Cells.Select
Range("A277").Activate
ActiveSheet.Paste
Windows("SETEMBRO 18.xlsx").Activate
Sheets("EVENTOS").Select
Range("A1:BX320").Select
Application.CutCopyMode = False
Selection.Copy
Windows("BASE JUNHO.xlsm").Activate
Sheets("SET_18").Select
Range("A300").Select
ActiveSheet.Paste
Application.Run "Módulo3.APAGAR_OK"
Application.Run "Módulo3.FORMATAR_DADOS_3"
Application.Run "Módulo3.GERAR_TITULO_EVENTOS"
Range("A1").Select
Sheets("RESUMO").Select
Range("A1").Select
Windows("SETEMBRO 18.xlsx").Activate
ActiveWorkbook.Close