Ir ao conteúdo
  • Cadastre-se

Atualizar valor somente se for maior


Ir à solução Resolvido por Visitante,

Posts recomendados

Boa Noite

 

Tenho uma planilha de valores e acompanho para saber qual foi o maior valor lançado...mais gostaria que uma célula especifica com a formula SE por exemplo somente se altera-se se o valor for maior que o anterior digitado...e permaneça até um valor maior fosse lançado.

 

Tem como fazer no excel?

 

 

Link para o comentário
Compartilhar em outros sites

Se quiser experimentar esta solução por macro, instale o código abaixo no módulo da planilha de interesse, assim:

1. copie o código daqui
2. clique com o direito na guia da planilha e escolha "Exibir código"
3. cole o código na janela em branco que irá se abrir
4. done! Alt+Q para retornar para a planilha e testar

funcionamento - se o valor inserido por digitação em A1 for maior do que o valor existente em A2, então o valor de A1 será repetido pelo código em A2.

 

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Count > 1 Then Exit Sub
  If Target.Address <> "$A$1" Then Exit Sub
  If [A1] > [A2] Then [A2] = [A1]
End Sub

 

 

Link para o comentário
Compartilhar em outros sites

 

....acho que me expressei com poucas informações...

Foi só um ponto de partida... ;)

 

Veja se entendi corretamente.

o código abaixo faz estas operações:

1. repete na linha 13 o valor digitado na linha 7 (mesma coluna) se este for maior do que aquele

2. repete em N13 o valor de N7 se este for maior do que aquele

Se for isso, coloque este código no lugar do anterior.

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Application.Intersect(Target, Range("C7:L7")) Is Nothing Then Exit Sub Application.EnableEvents = False  If Target.Value > Target.Offset(6).Value Then Target.Offset(6).Value = Target.Value  If [N7] > [N13] Then [N13] = [N7] Application.EnableEvents = TrueEnd Sub

 

Link para o comentário
Compartilhar em outros sites

2. repete em N13 o valor de N7 se este for maior do que aquele

 

 

 

É um pouco diferente...quando o total da soma do N7 for maior que o anterior de N13....ai substitui os dados na linha N13.

 

 

 

 Será que estamos falando a mesma coisa com palavras diferentes?

 

Você testou o código que passei?

Link para o comentário
Compartilhar em outros sites

Desculpe, continuo sem entender.

Tente explicar assim, por exemplo:

 

Em F7 está o valor 10, se substituir esse valor por 20, então a SOMA que está em N7 será alterada, a partir daí descreva passo a passo o que você quer que o código faça.

Link para o comentário
Compartilhar em outros sites

  • Solução

1. não utilize os códigos que passei antes pois, você pediu abóbora mas queria mandioca...
2. acrescente a linha abaixo em vermelho no código que gera aleatórios que já está instalado no seu arquivo
 

...

...

If [N1] > [N7] Then [C7].Resize(, 12).Value = [C1].Resize(, 12).Value
End Sub

 

 

comentários - no post #3 você disponibilizou um exemplo e lá informou que os números são digitados, no entanto no exemplo último, post #11, vejo que os números não são digitados mas sim são gerados por um código com a função ALEATÓRIO.
Esse código que gera aleatórios tem como base outro código que te passei no tópico abaixo.
Gerar sequência numérica aleatória com exceção

Me parece que esse caminho que você optou de perguntar algo "semelhante" à sua necessidade com o intuito de depois fazer as adaptações (tal como transformar mandioca em abóbora...) visa basicamente aprender.

Olhando para o código que gera aleatórios que você "adaptou" a partir do código que eu te sugeri no outro tópico, confesso que me senti frustrado pois você o transformou em um monstrinho.

Teria sido mais proveitoso pra você e tecnicamente mais adequado se perguntasse por um código para "Gerar 10 números aleatórios sem repetição".

Ainda, essa estratégia, desnecessariamente, toma tempo extra de quem se propõe a ajudar.

Caso você realmente queira aprender, sugiro que o faça, desde o início, com base na utilização eficiente dos recursos e com base na boa técnica,

Para isso, nos próximos tópicos, sugiro que você coloque exatamente o que deseja obter e, principalmente pergunte sobre as soluções aqui sugeridas, dessa forma você poderá aprender com as pessoas que ajudam aqui no fórum.

 

Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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

×
×
  • Criar novo...