MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Limpar linhas em branco com mais de milhão de linhas

    Compartilhe

    LailaNS
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 11
    Registrado : 09/02/2017

    Limpar linhas em branco com mais de milhão de linhas

    Mensagem  LailaNS em 7/11/2018, 22:26

    Olá,

    Eu estou com um problema, tenho uma base de dados, que irei utilizar no MONGODB e no momento preciso realizar a limpeza dos dados, retirando todas as incosistencias e linhas em brancos.

    Achei alguns códigos em VBA que excluí as linhas em branco, porém por conta da minha base ser muito grande, ter mais de um milhão de linhas e várias colunas, ele dá erro e estouro.

    Segue os códigos:
    Código:

    On Error GoTo myError
    Dim r As Range, rows As Long, i As Long
    Application.ScreenUpdating = False
    Application.DisplayStatusBair = True
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    ActiveSheet.DisplayPageBreaks = False
    ActiveSheet.AutoFilterMode = False
    Set r = ActiveSheet.Range("C1:C1048576")
    rows = r.rows.Count
    For i = rows To 1 Step (-1)
    If WorksheetFunction.CountA(r.rows(i)) = 0 Then
    r.rows(i).EntireRow.Delete
    RowDeleted = RowDeleted + 1
    Else: NotDeleted = NotDeleted + 1
    End If
    totalcnt = totalcnt + 1
    If RowDeleted = 100 Then
    Application.ScreenUpdating = True
    TotalDeleted = TotalDeleted + RowDeleted
    RowDeleted = 0 'you can uncomment this but since this is a dup since writting to statusbair (imo) 'Debug.Print "count now is " + CStr(totalcnt)
    Application.ScreenUpdating = False
    End If
    Application.StatusBair = "Row count is " + CStr(totalcnt)
    DoEvents
    Next
    myError: If Err.Number <> 0 Then
    MsgBox CStr(i) & ": " & Err.Description
    End If
    Application.ScreenUpdating = False
    'Application.DisplayStatusBair = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    ActiveSheet.DisplayPageBreaks = True
    'ActiveSheet.AutoFilterMode = True


    e

    Código:
    Sub deletarLinhasVazias()
    Dim ultimalinha, r As Integer
    ultimalinha = ActiveSheet.UsedRange.Row - 1 + _
    ActiveSheet.UsedRange.Rows.Count
    Application.ScreenUpdating = False
    For r = ultimalinha To 1 Step -1
    If Application.CountA(Rows(r)) = 0 Then
    Rows(r).Delete
    End If
    Next r
    End Sub

    Tentei com esses dois códigos acima e dá erro, por ter muitas linhas, alguém conseguiria me ajudar? Me informar o que posso estar fazendo para excluir as linhas em branco de um documento com mais de um milhão de linhas?

    Desde já, estou agradecida.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7031
    Registrado : 05/11/2009

    Re: Limpar linhas em branco com mais de milhão de linhas

    Mensagem  Alexandre Neves em 8/11/2018, 09:28

    Bom dia
    Movi-lhe a dúvida para esta sala, por não se tratar de Access


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4116
    Registrado : 20/04/2011

    Re: Limpar linhas em branco com mais de milhão de linhas

    Mensagem  Silvio em 8/11/2018, 10:31

    Bom dia, alguns fóruns em Excel...

    **copie e cole em seu browser**
    [Você precisa estar registrado e conectado para ver este link.]

    gurudoexcel.com/forum/


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

      Data/hora atual: 18/11/2018, 02:23