- 08 Fev 2022 às 14:27
#69089
Boa Tarde a Todos,
Tenho 2200 ficheiros excel numa mesma pasta de trabalho. Todos são iguais na estrutura e cada um respeita a despesas de uma pessoa.
Quero copiar a área que tem as despesas e colar todas essas 2200 áreas num único ficheiro Excel.
Criei a seguinte macro
" Sub Macro1()
FN = "784.xlsm"
Workbooks.Open "G:\" + FN
Windows(FN).Activate
Sheets("Análise Despesas").Select
Range("A12:H41").Select
Selection.Copy
Windows("Resumo Despesa.xlsm").Activate
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("K3").Select
Windows(FN).Activate
Range("A2").Select
Application.CutCopyMode = False
Workbooks(FN).Close SaveChanges:=False
Range("I3").Select
End SUB"
Acontece que para funcionar com 2.200 ficheiros preciso de 2.200 FN.
O VBA diz que não excuta porque excede o limite de instruções.
Não há uma forma de usar loop ou algo semelhante?
Basicamente a instrução seria:
abrir o Workbook que está na pasta G
Selecionar o separador Sheet espcifico das despesas
Copiar a área das despesas
Abrir o Excel que irá receber a informação
Colar neste último os dados das despesas
Fechar
repetir o processo até esgotar os 2.200 ficheiros excel que estão na pasta.
Obrigado pelo contributo
CarlosM
Tenho 2200 ficheiros excel numa mesma pasta de trabalho. Todos são iguais na estrutura e cada um respeita a despesas de uma pessoa.
Quero copiar a área que tem as despesas e colar todas essas 2200 áreas num único ficheiro Excel.
Criei a seguinte macro
" Sub Macro1()
FN = "784.xlsm"
Workbooks.Open "G:\" + FN
Windows(FN).Activate
Sheets("Análise Despesas").Select
Range("A12:H41").Select
Selection.Copy
Windows("Resumo Despesa.xlsm").Activate
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("K3").Select
Windows(FN).Activate
Range("A2").Select
Application.CutCopyMode = False
Workbooks(FN).Close SaveChanges:=False
Range("I3").Select
End SUB"
Acontece que para funcionar com 2.200 ficheiros preciso de 2.200 FN.
O VBA diz que não excuta porque excede o limite de instruções.
Não há uma forma de usar loop ou algo semelhante?
Basicamente a instrução seria:
abrir o Workbook que está na pasta G
Selecionar o separador Sheet espcifico das despesas
Copiar a área das despesas
Abrir o Excel que irá receber a informação
Colar neste último os dados das despesas
Fechar
repetir o processo até esgotar os 2.200 ficheiros excel que estão na pasta.
Obrigado pelo contributo
CarlosM