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:
e
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.
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.