CONSOLIDAR ARQUIVOS DE UMA PASTA EM UMA ÊNICA PLAN
Prezados,
Preciso de uma ajuda.
Pretendo criar um código que consolide planilhas extraÃdas de um sistema.
Vou detalhar para que fique mais fácil:
Há uma pasta contendo arquivos diários, eles possuem o mesmo nome mas com datas diferentes, exemplo: tesouraria 19/07/2015, tesouraria 20/07/2105, tesouraria 21/07/2015 e por aà vai. Extraio estes dados de um sistema diariamente e tenho que consolidá-los em uma única planilha, o que me toma muito tempo!
Gostaria de consolidar os dados de todos os arquivos de excel desta pasta automaticamente, não sendo necessário ter que abrir cada um deles e dar Ctrl C + Ctrl V.
Não é solução criar vÃnculos, pois os dados são históricos e não serão alterados.
é possÃvel também criar uma espécie de [Ô]loop[Ô] para que quando o código rodar, ele inclua as informações das novas planilhas extraÃdas e que serão salvas nesta pasta?
Preciso de uma ajuda.
Pretendo criar um código que consolide planilhas extraÃdas de um sistema.
Vou detalhar para que fique mais fácil:
Há uma pasta contendo arquivos diários, eles possuem o mesmo nome mas com datas diferentes, exemplo: tesouraria 19/07/2015, tesouraria 20/07/2105, tesouraria 21/07/2015 e por aà vai. Extraio estes dados de um sistema diariamente e tenho que consolidá-los em uma única planilha, o que me toma muito tempo!
Gostaria de consolidar os dados de todos os arquivos de excel desta pasta automaticamente, não sendo necessário ter que abrir cada um deles e dar Ctrl C + Ctrl V.
Não é solução criar vÃnculos, pois os dados são históricos e não serão alterados.
é possÃvel também criar uma espécie de [Ô]loop[Ô] para que quando o código rodar, ele inclua as informações das novas planilhas extraÃdas e que serão salvas nesta pasta?
FERNANDOGOMES,
Você precisa fazer uma rotina que vá na pasta e leia os arquivos que tem lá.
Pode usar o FileSystemObject (FSO).
=====================================================
Usando o FileSystemObject - FSO - Tratando arquivos e diretórios.
http://www.macoratti.net/filesyst.htm
=====================================================
Depois de aberto o arquivo ( e ficando em [ô]looping[ô] enquanto encontrar arquivos com as iniciais que você colocou como exemplo: [Ô]tesouraria[Ô]). Você precisa ler o arquivo de modo que ele faça o [Ô]Copiar[Ô] / [Ô]Colar[Ô] do conteúdo deles...
=====================================================
Visual Basic/Excel - Importando e Exportando dados (inserindo dados, criando gráficos, convertendo tabela para Excel, acesso direto à planilha )
http://www.macoratti.net/excel_vb.htm
=====================================================
Tenta gerar algum código que a gente ajuda você aqui.
[][ô]s,
Tunusat.
Você precisa fazer uma rotina que vá na pasta e leia os arquivos que tem lá.
Pode usar o FileSystemObject (FSO).
=====================================================
Usando o FileSystemObject - FSO - Tratando arquivos e diretórios.
http://www.macoratti.net/filesyst.htm
=====================================================
Depois de aberto o arquivo ( e ficando em [ô]looping[ô] enquanto encontrar arquivos com as iniciais que você colocou como exemplo: [Ô]tesouraria[Ô]). Você precisa ler o arquivo de modo que ele faça o [Ô]Copiar[Ô] / [Ô]Colar[Ô] do conteúdo deles...
=====================================================
Visual Basic/Excel - Importando e Exportando dados (inserindo dados, criando gráficos, convertendo tabela para Excel, acesso direto à planilha )
http://www.macoratti.net/excel_vb.htm
=====================================================
Tenta gerar algum código que a gente ajuda você aqui.
[][ô]s,
Tunusat.
Fala TUNUSAT !
Primeiramente, obrigado pela rápida resposta!
Vou estudar o material que você colocou como referência!
Adicionalmente, vou postar um código que encontrei na internet (caso alguém tenha a mesmá necessidade) que faz exatamente o que preciso, posteriormente tenho que dar algum tratamento na planilha para remover cabecalhos e linhas contendo totais, mas nada muito trabalhoso, a parte que me ocupava muito já consegui matar!
Segue código:
Sub Consolidar()
Dim Pasta As String
Dim Arquivo As String
[ô]Seleciona a pasta do Windows onde estão todas as
[ô]pastas de trabalho a serem copiadas
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
Pasta = .SelectedItems(1)
End With
[ô]Armazena o nome do primeiro arquivo (pasta de trabalho) na variável [Ô]Arquivo[Ô]
Arquivo = Dir(Pasta & [Ô]\[Ô] & [Ô]*.xls*[Ô])
[ô]Laço para para percorrer todos os arquivos da pasta do windows
Do
[ô]Abre o arquivo
Workbooks.Open (Pasta & [Ô]\[Ô] & Arquivo)
[ô]Copia a região adjacente à celula A3 para a planilha de consolidação
[A3].CurrentRegion.Copy ThisWorkbook.ActiveSheet.Cells(Cells.Rows.Count, [Ô]A[Ô]).End(xlUp).Offset(1, 0)
[ô]Fecha o arquivo
Workbooks(Arquivo).Close False
[ô]Lista o próximo arquivo
Arquivo = Dir
Loop While Arquivo <> [Ô][Ô]
Application.CutCopyMode = False
MsgBox [Ô]Informações Consolidadas com Sucesso![Ô]
End Sub
Primeiramente, obrigado pela rápida resposta!
Vou estudar o material que você colocou como referência!
Adicionalmente, vou postar um código que encontrei na internet (caso alguém tenha a mesmá necessidade) que faz exatamente o que preciso, posteriormente tenho que dar algum tratamento na planilha para remover cabecalhos e linhas contendo totais, mas nada muito trabalhoso, a parte que me ocupava muito já consegui matar!
Segue código:
Sub Consolidar()
Dim Pasta As String
Dim Arquivo As String
[ô]Seleciona a pasta do Windows onde estão todas as
[ô]pastas de trabalho a serem copiadas
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
Pasta = .SelectedItems(1)
End With
[ô]Armazena o nome do primeiro arquivo (pasta de trabalho) na variável [Ô]Arquivo[Ô]
Arquivo = Dir(Pasta & [Ô]\[Ô] & [Ô]*.xls*[Ô])
[ô]Laço para para percorrer todos os arquivos da pasta do windows
Do
[ô]Abre o arquivo
Workbooks.Open (Pasta & [Ô]\[Ô] & Arquivo)
[ô]Copia a região adjacente à celula A3 para a planilha de consolidação
[A3].CurrentRegion.Copy ThisWorkbook.ActiveSheet.Cells(Cells.Rows.Count, [Ô]A[Ô]).End(xlUp).Offset(1, 0)
[ô]Fecha o arquivo
Workbooks(Arquivo).Close False
[ô]Lista o próximo arquivo
Arquivo = Dir
Loop While Arquivo <> [Ô][Ô]
Application.CutCopyMode = False
MsgBox [Ô]Informações Consolidadas com Sucesso![Ô]
End Sub
Tópico encerrado , respostas não são mais permitidas