Página 1 de 1
Excluis 50 primeiras de cada
Enviado: 08 Mai 2017 às 10:35
por Ronibarros
Caríssimos,
Tenho uma relação, como o exemplo anexo, muito mais extensa, claro. Gostaria de saber como faço para pular as cinquenta primeiras linhas cada município e excluir as demais, levando em consideração a coluna MUNICÍPIOS, que está em vermelho.
Re: Excluis 50 primeiras de cada
Enviado: 08 Mai 2017 às 14:04
por osvaldomp
Olá, Roni.
Se você quiser experimentar uma solução via macro, teste o código abaixo.
Código: Selecionar todosSub ExcluiAlémDe50Repetições()
Dim m As Long, b As Long, c As Long
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For b = 2 To Cells(Rows.Count, 2).End(3).Row
c = Application.CountIf([B:B], Cells(b, 2))
If c > 50 Then Range(Cells(b + 50, 1), Cells(b + c - 1, 1)).Clear
b = b + c - 1
Next b
[A:A].SpecialCells(xlBlanks).EntireRow.Delete
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Excluis 50 primeiras de cada
Enviado: 08 Mai 2017 às 14:27
por Ronibarros
Muito bem, agora só para fins didáticos: se os nomes dos municípios estivesses na coluda H, seria só alterar a linha " c = Application.CountIf([B:B], Cells(b, 2))", no item [B:B]?
Re: Excluis 50 primeiras de cada
Enviado: 08 Mai 2017 às 15:16
por Ronibarros
osvaldomp escreveu:Olá, Roni.
Se você quiser experimentar uma solução via macro, teste o código abaixo.
Código: Selecionar todosSub ExcluiAlémDe50Repetições()
Dim m As Long, b As Long, c As Long
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For b = 2 To Cells(Rows.Count, 2).End(3).Row
c = Application.CountIf([B:B], Cells(b, 2))
If c > 50 Then Range(Cells(b + 50, 1), Cells(b + c - 1, 1)).Clear
b = b + c - 1
Next b
[A:A].SpecialCells(xlBlanks).EntireRow.Delete
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
MUITO OBRIGADO, CARA. RESOLVIDO.