locked
MACRO PARA DELETAR LINHAS

    Pergunta

  • Pessoal,

     

    Tenho a seguinte situação:

     

     

    A

    B

    1

    RSF151520

     

    2

     

    ATG458570

    3

     

    ATG458570

    4

    RSF151520

    ATG458570

    5

    RSF151520

     

    6

    RSF151520

    ATG458570

    7

     

     

    8

    RSF151520

    ATG458570

     

    Preciso de uma macro que elimine apenas as linhas onde Col A e Col B não têm dados (no exemplo acima, apenas a linha 7).

     

    Agradeço vossa ajuda,

     

    Sds

    Jerson

    terça-feira, 11 de março de 2008 18:18

Respostas

  • Olá, Jerson.

    Experimente o código abaixo. Acredito que os comentários sejam suficientes para esclarecer o funcionamento do código:

    Code Snippet
    Sub Eliminar_Linhas()
    '===========================================================================
    'Macro para eliminar linhas caso as células localizadas nas colunas A e B
    'estejam vazias
    '===========================================================================
    Dim LastRowA As Integer, LastRowB As Integer, LastRow As Integer, i As Integer
    'Determina a última linha da coluna A
    LastRowA = Cells(Rows.Count, 1).End(xlUp).Row
    'Determina a última linha da coluna B
    LastRowB = Cells(Rows.Count, 2).End(xlUp).Row
    'Utiliza o maior valor para estabelecer o limite do loop através das linhas
    If LastRowA >= LastRowB Then
    LastRow = LastRowA
    Else
    LastRow = LastRowB
    End If
    'Realiza loop desde a última linha (LastRow) até a primeira linha da planilha
    'eliminando a linha caso as correspondentes células das colunas A e B
    'estejam vazias
    For i = LastRow To 1 Step -1
    If IsEmpty(Cells(i, 1).Value) And IsEmpty(Cells(i, 2).Value) Then Rows(i).Delete
    Next i
    End Sub

     

     


     

     

    [  ]s

     

    terça-feira, 11 de março de 2008 18:30

Todas as Respostas

  • Olá, Jerson.

    Experimente o código abaixo. Acredito que os comentários sejam suficientes para esclarecer o funcionamento do código:

    Code Snippet
    Sub Eliminar_Linhas()
    '===========================================================================
    'Macro para eliminar linhas caso as células localizadas nas colunas A e B
    'estejam vazias
    '===========================================================================
    Dim LastRowA As Integer, LastRowB As Integer, LastRow As Integer, i As Integer
    'Determina a última linha da coluna A
    LastRowA = Cells(Rows.Count, 1).End(xlUp).Row
    'Determina a última linha da coluna B
    LastRowB = Cells(Rows.Count, 2).End(xlUp).Row
    'Utiliza o maior valor para estabelecer o limite do loop através das linhas
    If LastRowA >= LastRowB Then
    LastRow = LastRowA
    Else
    LastRow = LastRowB
    End If
    'Realiza loop desde a última linha (LastRow) até a primeira linha da planilha
    'eliminando a linha caso as correspondentes células das colunas A e B
    'estejam vazias
    For i = LastRow To 1 Step -1
    If IsEmpty(Cells(i, 1).Value) And IsEmpty(Cells(i, 2).Value) Then Rows(i).Delete
    Next i
    End Sub

     

     


     

     

    [  ]s

     

    terça-feira, 11 de março de 2008 18:30
  •  Adilson Soledade wrote:

    Olá, Jerson.

    Experimente o código abaixo:

    [  ]s

     

     

    Obrigado Adilson, funciona perfeitamente.

     

     

    Um abraço,

     

    Jerson

    terça-feira, 11 de março de 2008 19:39
  • Boa noite

    Adilson, vi essa macro e ela me ajuda muito porém diferente do Jvieria,

                     A

                      B

    1

    RSF151520

     

    2

     

    ATG458570

    3

     

    ATG458570

    4

    RSF151520

    ATG458570

    5

    RSF151520

     

    6

    RSF151520

    ATG458570

    7

     

     

    8

    RSF151520

    ATG458570


    Eu precisaria que apagasse as seguintes linhas B1,A2,A3,B5, apagar apenas as que realmente estão em branco

    Grato LLima
    sexta-feira, 21 de agosto de 2009 02:02