Ir ao conteúdo

Excel Dividir uma base 34 mil linhas excel em várias partes


Ir à solução Resolvido por Midori,

Posts recomendados

Postado

Olá pessoal bom dia,

Surgiu uma necessidade e já pesquisei bastante, até encontrei alguns programas online, porém não tive êxito no que eu preciso. 

É o seguinte, tenho uma base de dados no excel com mais de 34 mil linhas, eu preciso saber se existe algum programa ou recurso nativo do excel que consiga dividi-las por 1999 mil linhas.

 

Desde já agradeço.

Postado

@Scofieldgyn Veja se assim resolve. Save a planilha com a macro antes de rodar. Considerei a tabela em A1 e peguei a região dessa célula. Os arquivos serão salvos no mesmo diretório, faça um teste com poucos registros para ver se é isso mesmo,

 

Dim PlanIndice As Integer

Sub MacroCopiaTabela()
    PlanIndice = 1
    Call CopiaTabela([A1].CurrentRegion, 1999)
End Sub

Sub CopiaTabela(Tabela As Range, Max As Integer)
    Dim Linhas      As Long
    Dim Bloco       As Long
    
    Linhas = Tabela.Rows.Count - 1
    Bloco = 0
    
    While Bloco < WorksheetFunction.Quotient(Linhas, Max)
        Call ColaTabela(Tabela.Rows( _
            Bloco * Max + 2).Resize(Max))
        Bloco = Bloco + 1
    Wend
    
    If Linhas Mod Max > 0 Then
        Call ColaTabela(Tabela.Rows( _
            Bloco * Max + 2).Resize(Linhas Mod Max))
    End If
End Sub

Sub ColaTabela(Area As Range)
    Dim Planilha    As Workbook
    
    Set Planilha = Workbooks.Add
    
    Planilha.Sheets(1).[A1].Resize( _
        Area.Rows.Count, _
        Area.Columns.Count).Value = Area.Value
    
    Call Planilha.SaveAs( _
        ThisWorkbook.Path & "\" & _
        Format(PlanIndice, "000") & ".xlsx")
        
    Call Planilha.Close(False)
    PlanIndice = PlanIndice + 1
End Sub

 

  • Curtir 1
  • Amei 1
Postado

@Midori Está funcionando perfeitamente, gerou as 18 planilhas conforme base completa.

 

Não querendo abusar da sua boa vontade, no relatório matriz, tenho as colunas [B] e [C] com formato de datas AAAA-MM-DD, porém após rodar a macro, ele modifica a data para DD/MM/AAAA. 

 

Só que preciso que permaneza o mesmo padrão (AAAA-MM-DD). Eu consigo fazer aqui via fórmula manualmente, mas vou ter que fazer isso pra 17 pra planilhas só do ano 2021 e depois a mesma quantidade para o ano 2022. 

 

Se puder me ajudar colocando isso no código agradeço demais.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!