Notifications
Clear all

Unir Planilhas da mesma PASTA.

9 Posts
2 Usuários
0 Reactions
1,884 Visualizações
(@leonbr)
Posts: 20
Eminent Member
Topic starter
 

Bom dia Pessoal,

Pesquisei pelo forum, mas não encontrei uma solução.

As planilhas que preciso juntar em um só arquivo (com os dados um embaixo do outro), tem várias linhas em brancos no meio do arquivo, o que acaba gerando problemas.

Coloco uma planilha de exemplo em anexo com o mesmo formato da que usamos aqui, temos 15 filiais que são em arquivos distintos e que preciso juntar.

poderiam me dar uma luz ( rsrs) ?

Abraços.

 
Postado : 06/04/2016 8:36 am
(@mprudencio)
Posts: 2749
Famed Member
 

Precisa de um exemplo que mostre como sao seus arquivos (se sao varios arquivos ou varias abas), w um pequeno exemplo de como espera o resultado.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 06/04/2016 8:52 am
(@leonbr)
Posts: 20
Eminent Member
Topic starter
 

Boa tarde Prudencio.

O arquivo está em anexo no post anterior, todos os 15 arquivos seguem a mesma estrutura, porem há momentos que eles tem em torno de 27 mil linhas e há dias que ficam com 26....é variável o tamanho deles.

So preciso que todos os arquivos fiquem em uma mesma planilha e na mesma aba.

Abraços

 
Postado : 06/04/2016 10:07 am
(@mprudencio)
Posts: 2749
Famed Member
 

Vc postou 1 arquivo com 1 aba...Onde esta as outras??

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 06/04/2016 12:56 pm
(@leonbr)
Posts: 20
Eminent Member
Topic starter
 

Boa tarde Marcelo,

O arquivo é um exemplo, pois todos os outros seguirão a mesma estrutura, então pode-se apenas duplicar esse arquivo e usa-lo para os testes.

A unica diferença que pode ocorrer de um arquivo para o outro é uma pequena diferença de linhas, as vezes de umas 10 linhas.

Muito obrigado pela ajuda.

 
Postado : 06/04/2016 1:49 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Com base no seu arquivo

Para funcionar corretamente precisa seguir essas condições

O cabeçalho deve estar na linha 2.

Não deve ter linhas vazias no meio da planilha, se for esse o seu caso, classifique os dados de cada arquivo e exclua as linhas que nao precisar

Os arquivos devem estar todos em uma pasta que chamei de ARQUIVOS se quiser em outro local é preciso altera no codigo na linha indicada abaixo.

Pasta = "C:Arquivos"

O codigo vai copiar os dados SEMPRE DA PRIMEIRA PLANILHA DE CADA ARQUIVO.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 06/04/2016 3:10 pm
(@leonbr)
Posts: 20
Eminent Member
Topic starter
 

Muito obrigado pela ajuda Marcelo,

Pesquisei uma forma de utilizar uma macro que retirasse todos os espaços dos arquivos, até ai consegui.
Achei uma macro que abrisse o arquivo e fizesse as alterações e fosse para o proximo.
Modifiquei a macro para salvar o arquivo já com a alteração.

Porem esses arquivos bases que uso, vem no formarto de texto em unicode.

Não sei o pq, quando salva a alteração e deixa como unicode ( como se a macro so clicasse no botão salvar e pronto) o arquivo joga todos os dados para iniciar na coluna a1, exatamente o que vc me pediu para não acontecer.

Estou usando esse codigo simples no final da macro para retirar todos os espaços, oq posso fazer para ele salvar como um xls e não repetir o nome em todos os arquivos ?

    Cells.Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$2:$AD$29062").AutoFilter Field:=2, Criteria1:=Array( _
        "*", "Ctr", "="), Operator:=xlFilterValues
    Rows("3:30000").Select
    Selection.Delete Shift:=xlUp
    ActiveSheet.ShowAllData
    Range("A1").Select
    ActiveWorkbook.Save
    ActiveWorkbook.Close

Tentei alterar sua macro para iniciar no campo a1, porem não obtive o MENOR exito rsrs. :oops: :oops: :oops: :oops: :oops:

 
Postado : 07/04/2016 8:39 am
(@leonbr)
Posts: 20
Eminent Member
Topic starter
 

Ola Pessoal,

Consegui criar uma macro para meus arquivos ficarem de acordo com oq vc me falou Marcelo.

Porem percebi que todas as ultimas linhas do arquivo acabam sumindo :cry: :cry: :cry: :cry: :cry: , acredito que seja algum problema com o inicio da copia nos arquivos.

Todos os cabeçalhos estão na linha 2 e começando na coluna B.

Segue o código abaixo como ele está na minha planilha :

Private Sub Copiar()

        Sheets(1).Select
        ActiveSheet.Range("B3:AD" & Application.WorksheetFunction.CountA(Range("B:B"))).Select
        Selection.Copy
        Windows("Consolidado.xlsm").Activate
        
        Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Select
        Selection.PasteSpecial Paste:=xlPasteValues
        Range("B3").Select
        
End Sub
Sub Consolidar()

Dim FSO As Object
Dim Pasta As String
Dim Planilha As Object
Dim OpenBook As String

Set FSO = CreateObject("Scripting.FileSystemObject")
Pasta = "C:UserslgarridoDocuments129Consolidar" 'Pasta com as planilhas que serão abertas e copiadas

Application.ScreenUpdating = False

For Each Planilha In FSO.GetFolder(Pasta).Files

If InStr(1, Planilha, ".xls") = 0 Then GoTo PRÓXIMO

Workbooks.Open (Planilha)
OpenBook = ActiveWorkbook.Name

Copiar

Application.CutCopyMode = False
Workbooks(OpenBook).Close False
PRÓXIMO:

Next

Application.ScreenUpdating = True

MsgBox "Dados Copiados com Sucesso!", vbInformation, "Aviso"

End Sub

 
Postado : 07/04/2016 12:28 pm
(@leonbr)
Posts: 20
Eminent Member
Topic starter
 

Boa tarde novamente pessoal,

estou postando em sequencia pois nao achei onde posso editar e/ou apagar os posts anteriores.

Consegui resolver o problema dele nao pegar a ultima linha, modificando uma parte inicial do codigo, fixei para ele buscar sempre ate a linha 29000 ( não terei mais que 27500 geralmente)

Tudo funcionou bem, utilizei a macro para juntar o arquivo.

Porem a macro que peguei da net, para modificar o arqvuio para o padrão que vc havia solicitado, NÃO SEI O PQQQQQ, tranforma alguns numeros ( os que tem ponto ou virgula) em textos =(....

Depois de passar o dia todo nisso, no final cheguei a um beco sem saida,

Anexo os dois arquivos:

Vcs poderiam me dar uma luz?

 
Postado : 07/04/2016 2:31 pm