Notifications
Clear all

Deletar Linhas Vazias

3 Posts
2 Usuários
0 Reactions
945 Visualizações
(@vlad-alves)
Posts: 0
New Member
Topic starter
 

Por favor,

Alguém pode me auxiliar na criação de uma macro para numerar automaticamente as linhas de uma planilha e eliminar as linhas em branco?

tenho a seguinte situação:

DATA | DEBITO | CREDITO | VALOR | HP | COMPLEMENTO
| | | | |
12/03 | 692 | 12 | 1250,00 | 961 | FORNECEDOR XPTO
12/03 | 2581 | 11 | 2100,00 | 963 | FORNECEDOR ABC
| | | | |
13/13 | 25211 | 12 | 150,99 | 962 | DUPLICATA XVA

E preciso que ela fique da seguinte forma, tendo a numeração automática após a eliminação das linhas em branco:

Nº | DATA | DEBITO | CREDITO | VALOR | HP | COMPLEMENTO
001 | 12/03 | 692 | 12 | 1250,00 | 961 | FORNECEDOR XPTO
002 | 12/03 | 2581 | 11 | 2100,00 | 963 | FORNECEDOR ABC
003 | 13/13 | 25211 | 12 | 150,99 | 962 | DUPLICATA XVA

Alguém pode me auxiliar, neste problema?

 
Postado : 12/03/2015 8:04 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Vlad.Alves, bom dia!

O código para deletar as linhas é este abaixo.
Para a numeração ainda estou verificando!!!

Cole esse código em um módulo:

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

Dê retorno!!!

Att,

 
Postado : 12/03/2015 8:31 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde,

Apesar do tópico estar RESOLVIDO, segue sugestão de código contemplando, também, a numeração.

Sub ApagarNumerar()
    Dim UltimaLinha As Long
    Dim i As Long
    
    UltimaLinha = ActiveSheet.UsedRange.Rows.Count
    
    For i = UltimaLinha To 1 Step -1
        If WorksheetFunction.CountA(Rows(i)) = 0 Then
            Rows(i).Delete
        End If
    Next
    
    Columns("A:A").Insert
    UltimaLinha = ActiveSheet.UsedRange.Rows.Count
    For i = 1 To UltimaLinha
        Cells(i, 1).Value = i
    Next
End Sub

Abraço

 
Postado : 12/03/2015 10:42 am