Página 1 de 1

Como fixar valor da formula

Enviado: 21 Abr 2021 às 12:59
por denissons51
Olá!
Gostaria de saber como posso fixar o valor da uma formula no excel automaticamente?
Exemplo:
A1 (10) B1 (100)
Na celular C1:
=b1-a1, resultado 90.
Como posso fazer com que o valor (90) não altere mesmo eu alterando A1 ou B1, mas isso automaticamente, tem alguma formula para isso?
Pois a planilha é para controle de fluxo financeiro e tenho uma matriz que irei alterar diariamente para saber os valores que devo aportar para uma operação.
Irei anexar a planilha e a imagem aqui para exemplos.
Grato!
Imagem

Re: Como fixar valor da formula

Enviado: 21 Abr 2021 às 14:56
por osvaldomp
#
Experimente o código abaixo no lugar do existente.
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Count > 1 Then Exit Sub
 If Target.Column <> 3 Then Exit Sub
 If Target.Value = "WIN" Then
  Target.Offset(, 1).Value = [P13]: Target.Offset(, 2).Value = Now
 ElseIf Target.Value = "LOSS" Then
  Target.Offset(, 1) = [S8]: Target.Offset(, 2).Value = Now
 End If
End Sub
#
funcionamento - após o usuário inserir manualmente na coluna C ou WIN ou LOSS, o código irá replicar na coluna D o valor de P13 ou de S8, e irá lançar data e hora em E.

Re: Como fixar valor da formula

Enviado: 21 Abr 2021 às 18:05
por denissons51
Olá, muito grato por seu retorno.
Como não sei nada em excel, não sei se compreendi a mensagem. Mas, copiei o código informado e colei na célula (Não sei se foi isso que quis dizer com "Experimento no lugar do existente") e não funcionou.
Se não for pedir muito, teria como inserir na planilha em anexo para eu entender?
E mais uma vez, grato!

Re: Como fixar valor da formula

Enviado: 21 Abr 2021 às 20:19
por osvaldomp
Tranquilo. Como no seu arquivo existe um código instalado no módulo da planilha Plan1 então eu imaginei que você já dominasse o assunto macros.

Para instalar o código que passei antes:
1. copie o código daqui
2. clique com o direito na guia da planilha Plan1 e escolha 'Exibir Código'
3. na janela que vai se abrir apague o código que lá está ~~~> Private Sub Worksheet_Change(ByVal Target As Range)
4. no lugar, cole uma cópia do código copiado daqui
4. feito! 'Alt+Q' para retornar para a planilha e testar

obs.o seu código atual, após alteração manual na coluna D, insere data e hora na coluna E, bloqueia a célula alterada em D e protege a planilha Plan1. No código que eu sugeri no post anterior eu não considerei o bloqueio da célula e nem a proteção da planilha, então após os seus testes retorne se você quiser incluir essas duas operações no novo código.

Re: Como fixar valor da formula

Enviado: 21 Abr 2021 às 20:37
por denissons51
Nossa, ficou incrível, funcionou exatamente como eu queria.
Tem como adicionar o bloqueio?

Grato...
#Top!

Re: Como fixar valor da formula

Enviado: 21 Abr 2021 às 21:49
por osvaldomp
Instale este no lugar do anterior.
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Count > 1 Then Exit Sub
 If Target.Column <> 3 Then Exit Sub
 ActiveSheet.Protect userinterfaceonly:=True
 If Target.Value = "WIN" Then
  Target.Offset(, 1).Value = [P13]
 ElseIf Target.Value = "LOSS" Then
  Target.Offset(, 1) = [S8]
 Else: Exit Sub
 End If
 Target.Offset(, 2).Value = Now: Cells(Target.Row, 3).Resize(, 3).Locked = True
End Sub
#
obs.
1. antes de testar desmarque Bloqueadas no intervalo de uso, por exemplo selecione C7:E66, clique com o direito sobre qualquer parte da seleção, Formatar células, Proteção, desmarque Bloqueadas; essa operação só pode ser feita na planilha desprotegida
2. o código irá bloquear as 3 células da linha alterada, ex. se você inserir LOSS ou WIN em C5, então o código irá bloquear C5, D5 e E5; se você precisar alterar alguma célula bloqueada basta antes desproteger a planilha

Re: Como fixar valor da formula

Enviado: 21 Abr 2021 às 21:54
por denissons51
Cara, tu é um Deus do Excel.
Tu da algum curso? Até sua didática é incrível... Virei seu fã.
OBRIGADO demais!

Re: Como fixar valor da formula

Enviado: 22 Abr 2021 às 08:49
por osvaldomp
Legal, ficamos contentes por você ter resolvido a sua demanda aqui no fórum.

Gratidão pelas suas palavras.

Abraço, se cuide. ;)