-
Posts
2 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Suemar Eugênio
-
-
Olá galera!
Tenho uma planilha no Excel que verifica entre duas pastas de trabalho se existem valores duplicados, se sim ela deveria excluir a linha da pasta que está sendo comparada.
Porém ela está excluindo somente a célula e não a linha, o que está dando problema, exemplo.
Base
Lapis - 10
Caderno - 20
Caneta -30
Comparada
Lapis - 10
Caderno - 20
Lapiseira - 30
Ao executar ele apaga a celula LAPIS e CADERNO, fazendo com que Lapiseira assuma a posição com quantidade 10, incorreto! Preciso que ele apague a linha toda.
Segue o código bem simples.
Sub teste()
Dim iListCount As Integer
Dim iCtr As Integer
'Desligue a atualização da tela para acelerar a macro.
Application.ScreenUpdating = False
'Obter contagem de registros para pesquisar (lista que será excluída).
iListCount = Sheets("teste2").Range("A2:A10").Rows.Count
'Percorra através da lista "mestre".
For Each x In Sheets("teste1").Range("A2:A10")'Percorra todos os registros na segunda lista.
For iCtr = 1 To iListCount
'Faça comparação do próximo registro.
'Para especificar uma coluna diferente, altere 1 para o número da coluna.
If x.Value = Sheets("teste2").Cells(iCtr, 1).Value Then
'Se a correspondência for verdadeira, exclua a linha.
Sheets("teste2").Cells(iCtr, 1).Delete xlShiftUp
' Sheets("teste2").Rows(iCtr, 1).Delete xlShiftUp
'Incrementar contador para considerar a linha excluída.
iCtr = iCtr + 1
End If
Next iCtr
Next
Application.ScreenUpdating = True
MsgBox "beleza, o anúncios repetidos de DalilaMix foram limpos, vamos para o próximo?"
End Sub
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
Como excluir linha no excel com macro
em Microsoft Office e similares
Postado
Boa tarde @André_Arruda, obrigado pela sua atenção, dei uma limpada no código para ficar mais organizado, apliquei o que falou, porém agora ele limpa a planilha inteira e não só a linha.
Vou lhe enviar a planilha também para que possa ver.
Planilha exemplo: http://tsmix.com.br/teste.xlsm
Sub tsmix_suemar()
Dim iListCount As Integer
Dim iCtr As Integer
Application.ScreenUpdating = False
iListCount = Sheets("SUEMAR").Range("C4:C10").Rows.Count
For Each x In Sheets("TSMIX").Range("C4:C100")
For iCtr = 1 To iListCount
If x.Value = Sheets("SUEMAR").Cells(iCtr, 1).Value Then
Sheets("SUEMAR").Cells(iCtr, 1).EntireRow.Delete
iCtr = iCtr + 1
End If
Next iCtr
Next
Application.ScreenUpdating = True
MsgBox "beleza, o anúncios repetidos de DalilaMix foram limpos, vamos para o próximo?"
End Sub