Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Dúvidas sobre cálculos, funções simples e aninhadas, fórmulas matriciais, etc.
#59682
Boa tarde,

Em D5 o valor e variável, consequentemente E5 também, é possível manter congelado o valor máximo alcançado por E5 na célula mesmo que o valor de D5 diminua?
pode ser em outra célula, como for, se for possível.

Obrigado
Você não está autorizado a ver ou baixar esse anexo.
#59684
fabioprade escreveu:Em D5 o valor e variável, ...
Por acaso ainda é aquele assunto em que o valor de D5 é inserido via link DDE ?

Experimente os códigos abaixo. Só é possível um código por vez.
O primeiro código utiliza a própria célula E5 para manter o maior valor atingido por D5 * 0,95 e o segundo utiliza a célula G5, neste caso mantenha a fórmula em E5 (que, a propósito, pode ser simplificada de =SOMA(D5*195%)-D5 para =D5*0,95
Código: Selecionar todos
Private Sub Worksheet_Calculate()
 If [E5] < [D5] * 0.95 Then [E5] = [D5] * 0.95
End Sub
Código: Selecionar todos
Private Sub Worksheet_Calculate()
 If [G5] < [E5] Then [G5] = [D5] * 0.95
End Sub
#59687
Boa noite Osvaldo,

Não é, mas pensando agora pode ser usado para a aquela questão também?

A questão aqui é a seguinte, Stop Loss na planilha para ser controlado manualmente, atingindo a máxima e a cotação caindo, acompanho pelo Excel, tomo a decisão de venda ou não...

vou testar os códigos...
#59689
Sim, senhor. É exatamente assim que os códigos funcionam.
#59700
Olá, Fabio.

É provável que a inserção do link em D5 não esteja disparando o evento WS_Calculate.
Então, para forçar o disparo coloque em uma célula vazia =D5, assim o código será disparado a cada novo valor recebido do link.
#59713
Agora foi,

Osvaldo, na planilha completa, quando abro a planilha ele logo mostra a janela de erro em tempo de execução 13, Tipos incompatíveis, alguma coisa a ser corrigido? Pesquisei antes de te perguntar mas não consegui compreender o tratamento do erro...
Esqueci de mencionar no exemplo que são varias linhas, tenho que repetir o código ou tem como estende-la a varias linhas?

Obrigado
#59714
fabioprade escreveu: ... alguma coisa a ser corrigido?
Somente com base nas informações que você passou fica difícil avaliar a razão do erro. Disponibilize uma amostra do arquivo na forma em que ocorre o erro.

Esqueci de mencionar no exemplo que são varias linhas, tenho que repetir o código ou tem como estende-la a varias linhas?
Explique com exatidão o que você quer dizer com "são várias linhas".
Obrigado
#59719
Fabio, o erro no código ocorre porque as suas fórmulas na coluna E estão retornando erro #REF.
para contornar substitua a fórmula ~~~> =PROCV(D4;Cotação!$1:$50;4;FALSO)
por esta ~~~> =SEERRO(PROCV(D4;Cotação!$1:$50;4;FALSO);0)

Também, se você quiser testar um código simplificado em substituição ao atual, que atua da linha 4 até a linha 22, segue abaixo.
Código: Selecionar todos
Private Sub Worksheet_Calculate()
 Dim i As Long
  For i = 4 To 22
   If Cells(i, 1) < Cells(i, 5) * 0.95 And Cells(i, 5) <> "" Then Cells(i, 1) = Cells(i, 5) * 0.95
  Next i
End Sub
#59720
Fabio, o erro no código ocorre porque as suas fórmulas na coluna E estão retornando erro #REF.
Na verdade, com a plataforma que conectava o DDE a planilha aberto, estava atualizando normal e estava dando o erro, mas com o tratamento que você passou resolveu perfeitamente, irei aprender sobre tratamento de erros.

Lembra daquele outro caso do outro tópico?

Fiz assim e resolveu também a questão? Veja por gentileza se esta correto...
Código: Selecionar todos
Private Sub Worksheet_Calculate()
 Dim i As Long
 Dim j As Long
 
  For i = 4 To 22
   If Cells(i, 1) < Cells(i, 5) * 0.95 And Cells(i, 5) <> "" Then Cells(i, 1) = Cells(i, 5) * 0.95
  Next i
  
  For j = 4 To 22
  If Cells(j, 2) > Cells(j, 7) And Cells(j, 7) <> "" Then Cells(j, 2) = Cells(j, 7)
  Next j
  
End Sub
#59721
Beleza, o código está correto. Se o resultado está conforme o desejado, então parabéns! :D
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord