Página 1 de 1
Excluir linhas em uma planilha, com uma condicional.
Enviado: 10 Mar 2017 às 12:44
por MARCAO1974
Boa tarde!
Sou Marcos, ingressei hoje no forum, e estou com uma grande dificuldade em criar uma macro que verifique alguns dados constantes em uma linha (duplicados) e exclua as linhas duplicadas mantendo apenas a linha que conter o menor numero de dias.
Excluir linhas em uma planilha, com uma condicional.
Enviado: 10 Mar 2017 às 12:57
por Feka
Seja um pouco mais especifico, quais são os campos que não podem ter duplicatas?
Re: Excluir linhas em uma planilha, com uma condicional.
Enviado: 10 Mar 2017 às 15:52
por alexandrevba
Boa tarde!!
Seria isso?
Código: Selecionar todosSub AleVBA_4260()
Application.ScreenUpdating = 0
[V1].Value = "AleVBA"
[W1].Value = "Filtro"
[V2].FormulaArray = "=MIN(IF(B2=$B$2:$B$3496,$U$2:$U$3496))"
[W2].FormulaArray = "=IF(AND(COUNTIF($B$2:$B$3496,B2)>1,V2=U2),1,0)"
Range("V2:W2").AutoFill Destination:=Range("V2:W" & Cells(Rows.Count, 1).End(xlUp).Row)
Range("V2:W" & Cells(Rows.Count, 1).End(xlUp).Row).Value = Range("V2:W" & Cells(Rows.Count, 1).End(xlUp).Row).Value
Range("R:R").Delete
'Deleta dados
Dim rng As Range
Set rng = Range("A1").CurrentRegion
With rng
.AutoFilter Field:=22, Criteria1:="1"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
ActiveSheet.AutoFilterMode = False
Range("U:V").Delete
Application.ScreenUpdating = 1
End Sub
Att
Re: Excluir linhas em uma planilha, com uma condicional.
Enviado: 12 Mar 2017 às 08:58
por MARCAO1974
Feka escreveu:Seja um pouco mais especifico, quais são os campos que não podem ter duplicatas?
Somente a coluna dias não terá valor duplicado para a mesma pessoa.
Re: Excluir linhas em uma planilha, com uma condicional.
Enviado: 12 Mar 2017 às 11:13
por alexandrevba
Bom dia!
Você testou meu código?
Att
Excluir linhas em uma planilha, com uma condicional.
Enviado: 13 Mar 2017 às 08:52
por MARCAO1974
Alexandre, bom dia!
Primeiro obrigado pela ajuda, testei a pouco o código e deu um erro 1004, o método autofilter da range parou. Não consegui executar.
Excluir linhas em uma planilha, com uma condicional.
Enviado: 13 Mar 2017 às 10:01
por Feka
Caro,
Acho que esse código atende o que você quer:
Código: Selecionar todosSub teste()
Plan1.Range("A1:U" & Range("u1048576").End(xlUp).Row).Sort Range("u1"), xlAscending, , , , , , xlYes
Plan1.Range("A1:U" & Range("u1048576").End(xlUp).Row).RemoveDuplicates Array(1, 2, 3, 4, 5, 6 _
, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20), xlYes
End Sub
Excluir linhas em uma planilha, com uma condicional.
Enviado: 13 Mar 2017 às 11:07
por MARCAO1974
Feka, bom dia!
Funcionou o código, obrigado a vc e todos os que tentaram de alguma forma me auxiliar.