Notifications
Clear all

Código

10 Posts
1 Usuários
0 Reactions
1,786 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!
Poderia me ajudar, tenho uma planilha onde tenho varias linhas repetidas, gosataria que na coluna a exclui-se os nº onde está repetido deixando apenas o 1º nº. Exemplo em anexo.

vlw

 
Postado : 27/07/2011 10:36 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

andre360,
Acho que se você usar essa formula vai resolver. ( Fiz a formula na célula H4)

=SE(A4&C4=A3&C3;"";A4)

Se não consegui da um toque que anexo um exemplo.

 
Postado : 28/07/2011 5:45 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Desculpe,
Não tinha notado que você queria excluir a linha é isso né?

Sub ExcluirLinha()
Dim FixarLinha As Long
Dim Guardar As String

Sub ExcluirLinha()
Dim FixarLinha As Long
Dim Guardar As String

Guardar = " "
FinalLinha = Range("C" & Rows.Count).End(xlUp).Row
For FixarLinha = FinalLinha To 1 Step -1
         Valor1 = Range("C" & FixarLinha).Value & Range("A" & FixarLinha).Value
     If InStr(1, Guardar, Valor1) > 0 And Valor1 <> " " Then
         Rows(FixarLinha).Delete Shift:=xlUp
    Else
         Guardar = Guardar & " " & Valor1
    End If
Next
End Sub
 
Postado : 28/07/2011 6:42 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Na verdade qro q caso a linha seja repetida excluia os nº da coluna onde esta o nº ficando apenas o nº da 1 linha.
Veja em anexo exemplo que deve ficar

 
Postado : 28/07/2011 10:06 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Você tenatou usar a macro que passei?
Altera:
de:

Valor1 = Range("C" & FixarLinha).Value & Range("A" & FixarLinha).Value

para

Valor1 = Range("C" & FixarLinha).Value & Range("E" & FixarLinha).Value
 
Postado : 28/07/2011 10:21 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Baseado em seu primeiro exemplo postado (Exclui dados coluna.xlsx), e com um ajuste na rotina postada pelo Caio, veja se é isto que precisa.

    Sub ExcluirLinha()
    Dim FixarLinha As Long
    Dim Guardar As String

    Guardar = " "
    FinalLinha = Range("C" & Rows.Count).End(xlUp).Row
    
    For FixarLinha = FinalLinha To 1 Step -1
        If FixarLinha = 2 Then
            Exit Sub
        End If
        
        Valor1 = Range("C" & FixarLinha).Value & Range("A" & FixarLinha).Value
        
        If InStr(1, Guardar, Valor1) > 0 And Valor1 <> " " Then
            Range("A" & FixarLinha + 1).Value = ""
        Else
             Guardar = Guardar & " " & Valor1
        End If
    Next
    
    End Sub

[]s

 
Postado : 28/07/2011 6:33 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

ola, não qro excluir informação da linha e sim da coluna (C), onde a linha repetir qro q fique apenas a 1 informação da linha.
Exemplo : se na coluna (c) tiver o nº 3 esta linha irá repetir 3 vezes, qro q fique apenas 1 nº 3 na coluna (c), excluindo os outros 2 q irão repetir nas linhas abaixo, permanecendo as 3 linhas repetidas.

vlw

 
Postado : 29/07/2011 7:13 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Desculpe não foi o anexo.
Vejo o exemplo como qro, na aba Original é como ela esta e na aba Modificada é como qro q fique.
Qro todas as informações, excluindo apenas na coluna (c) a medida que repetir a linha, permanecendo apenas o 1 nº nas linhas repetidas.

vlw

 
Postado : 29/07/2011 9:46 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Veja se seria isto, de uma olhada se por um acaso o resultado que você colocou na Aba Modificada o 2 em C24 não deveria de ser em C23, pelo menos foi o que entendi em seus vários tópicos espalhados, alias da próxima vez procure manter o foco em um só tópico.

Sub ExcluirLinha()
    Dim FixarLinha As Long
    Dim Guardar As String

    Guardar = " "
    FinalLinha = Range("C" & Rows.Count).End(xlUp).Row
       
    For FixarLinha = FinalLinha To 1 Step -1
           
        Valor1 = Range("E" & FixarLinha).Value & Range("C" & FixarLinha).Value
        
        If InStr(1, Guardar, Valor1) > 0 And Valor1 <> " " Then
            Range("C" & FixarLinha + 1).Value = " "
        Else
            Guardar = Valor1
        End If
    Next
       
End Sub

[]s

 
Postado : 29/07/2011 6:05 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Vlw, obrigado a todos, isso mesmo q qria.

 
Postado : 01/08/2011 9:56 am