Página 1 de 1

Duplicata com valores de sinal diferente

Enviado: 01 Ago 2018 às 11:20
por RenanSimao
Bom dia!

Possuo uma coluna com diversos valores positivos e negativos. Todos os números negativos obrigatoriamente possuem um número positivo igual.

Alguém sabe alguma forma de excluir as linhas que possuem essas duplas iguais (apenas com sinais diferentes)?

Em anexo, uma coluna simples e ao lado a coluna resultante desejada, após a exclusão desses "semelhantes".

Obrigado a todos.

Re: Duplicata com valores de sinal diferente

Enviado: 01 Ago 2018 às 12:07
por osvaldomp
Se você quiser experimentar uma solução via macro instale o código abaixo em um módulo comum do seu arquivo Excel, assim:
1. copie o código daqui
2. a partir da planilha em que estão os dados tecle 'Alt+F11' para acessar o editor de VBA
3. no menu do editor >> Inserir >> Módulo
4. cole o código na janela em branco que vai se abrir
5. feito! 'Alt+Q' para retornar para a planilha e testar

para rodar o código:
6. tecle 'Alt+F8' >> selecione a macro correspondente >> Executar, ou insira um botão na planilha e vincule-o à macro ou vincule-a a um atalho de teclado (Alt+F8 > Opções).
Código: Selecionar todos
Sub ExcluiLinhas()
 Dim c As Long, d As Range
  For c = Cells(Rows.Count, 3).End(3).Row To 3 Step -1
   Set d = Range("C2:C" & c).Find(-Cells(c, 3))
    If Not d Is Nothing Then
     Rows(c).Delete: Rows(d.Row).Delete
    End If
  Next c
End Sub

Re: Duplicata com valores de sinal diferente

Enviado: 01 Ago 2018 às 14:14
por Deciog
RenanSimao

Confere se desta forma esta correto para você com formula


Se minha resposta foi útil, clique em obrigado é uma forma de agradecimento da ajuda

Decio

Re: Duplicata com valores de sinal diferente

Enviado: 01 Ago 2018 às 14:52
por RenanSimao
osvaldomp escreveu:Se você quiser experimentar uma solução via macro instale o código abaixo em um módulo comum do seu arquivo Excel, assim:
1. copie o código daqui
2. a partir da planilha em que estão os dados tecle 'Alt+F11' para acessar o editor de VBA
3. no menu do editor >> Inserir >> Módulo
4. cole o código na janela em branco que vai se abrir
5. feito! 'Alt+Q' para retornar para a planilha e testar

para rodar o código:
6. tecle 'Alt+F8' >> selecione a macro correspondente >> Executar, ou insira um botão na planilha e vincule-o à macro ou vincule-a a um atalho de teclado (Alt+F8 > Opções).
Código: Selecionar todos
Sub ExcluiLinhas()
 Dim c As Long, d As Range
  For c = Cells(Rows.Count, 3).End(3).Row To 3 Step -1
   Set d = Range("C2:C" & c).Find(-Cells(c, 3))
    If Not d Is Nothing Then
     Rows(c).Delete: Rows(d.Row).Delete
    End If
  Next c
End Sub
Foi muito útil. Obrigado!

Estou tentando adequar para minha planilha. A coluna seria a X (número 24) e os números possuem vírgula.

Adequei da seguinte forma:

Sub ExcluiLinhas3()
Dim c As Long, d As Range
For c = Cells(Rows.Count, 24).End(24).Row To 24 Step -1
Set d = Range("X6:X" & c).Find(-Cells(c, 24))
If Not d Is Nothing Then
Rows(c).Delete: Rows(d.Row).Delete
End If
Next c
End Sub

Mas estou recebendo erro "Erro em tempo de execução '1004':.

Seria porque o tipo de declaração "Long" seria apenas para números inteiros? Consegue me ajudar com esse detatlhe?

Obrigado!

Re: Duplicata com valores de sinal diferente

Enviado: 01 Ago 2018 às 14:54
por RenanSimao
Deciog escreveu:RenanSimao

Confere se desta forma esta correto para você com formula


Se minha resposta foi útil, clique em obrigado é uma forma de agradecimento da ajuda

Decio
Olá Decio. Boa tarde.

Agradeço o empenho, mas por esta fórmula está retornado o número 4, que não deveria, pois ele possui um simétrico (-4).

Mas muito obrigado.

Re: Duplicata com valores de sinal diferente

Enviado: 01 Ago 2018 às 15:01
por osvaldomp
RenanSimao escreveu: Estou tentando adequar para minha planilha. A coluna seria a X (número 24) e os números possuem vírgula.
Disponibilize uma amostra do seu arquivo Excel com estrutura e dados iguais aos da planilha na qual você vai aplicar a macro :?

dica - para responder clique em +Resposta localizado abaixo da última postagem, só clique em Responder com citação se necessário.

Re: Duplicata com valores de sinal diferente

Enviado: 01 Ago 2018 às 15:15
por RenanSimao
Osvaldo, segue em anexo!

A coluna a ser modificada é a X, todas as outras foram apagadas para facilitar o entendimento.

Agradeço a atenção e a dica.

Abraços

Re: Duplicata com valores de sinal diferente

Enviado: 01 Ago 2018 às 16:07
por osvaldomp
Experimente o código abaixo no lugar do anterior.
Código: Selecionar todos
Sub ExcluiLinhas()
 Dim c As Long, d As Range
  Application.ScreenUpdating = False
   For c = Cells(Rows.Count, 24).End(3).Row To 3 Step -1
    Set d = Range("X2:X" & c - 1).Find(-Cells(c, 24), lookat:=xlWhole)
     If Not d Is Nothing Then
      Rows(c).Delete: Rows(d.Row).Delete
     End If
   Next c
  Application.ScreenUpdating = True
End Sub
RenanSimao escreveu:Todos os números negativos obrigatoriamente possuem um número positivo igual.
Verifique pois restam vários números negativos após rodar o código e não deveria.