Página 1 de 1

Formula SE

Enviado: 11 Mar 2022 às 14:12
por FRANCISCORIBEIRO
Boa tarde Pessoal,

Tenho uma planilha, onde nas colunas B e C contem a formula SE, condicionadas a coluna D. Ao alterar o status da coluna D, consequentemente e as colunas B e C também se alteram. Existe a possibilidade de cancelar a alteração dessas duas colunas independentemente do valor inserido na coluna C?
Por exemplo: Quando o status da solicitação é definido como "Em Andamento", automaticamente a data de inicio da atividade é inserida. Eu preciso que ao mudar o status da solicitação para "Entregue" a data de inicio seja mantida, e a data de termino seja preenchida sem que a data de inicio seje alterada.

Re: Formula SE

Enviado: 11 Mar 2022 às 14:56
por PHSabater
É possível sim. Conforme faz a alteração.

Coloque os resultados esperados conforme as condições da célula D.
Exemplo:
Status = A entregar -
Data Inicio = Resultado esperado
Data Término = Resultado esperado
As datas vem dinamicamente de algum lugar ou só pega data atual do sistema?

Re: Formula SE

Enviado: 11 Mar 2022 às 16:48
por FRANCISCORIBEIRO
O Problema Pedro e que ao alterar os status as datas mudam

Re: Formula SE

Enviado: 11 Mar 2022 às 18:23
por PHSabater
Isso eu entendi. O que quero entender é que resultado espera em DATAS dessa alteração.

Re: Formula SE

Enviado: 14 Mar 2022 às 11:06
por FRANCISCORIBEIRO
Preciso de uma fórmula que tenha a estrutura do SE mas que na negativa do teste NÃO TENHA NENHUMA AÇÃO na célula. Na função SE comum, ao verificar que o teste não confere, a função sempre coloca um valor na célula: um valor numérico, "FALSO", "N/D" etc. Eu preciso que ela , neste caso, NÃO FAÇA NADA, deixe a célula com o valor anterior sem alteração!

Re: Formula SE

Enviado: 14 Mar 2022 às 12:28
por PHSabater
Tente encapsular sua fórmula dentro dessa:
Cole na célula B2:
Código: Selecionar todos
=SE(É.NÃO.DISP(SE($D$2="Em Andamento";DataFixa();SE($D$2="A Entregar";"";SE($D$2="Entregue";"";SE($D$2="";""; SE($D$2="Em Revisão - Entregue Parcialmente";""))))));SE($D$2="Em Andamento";DataFixa();SE($D$2="A Entregar";"";SE($D$2="Entregue";"";SE($D$2="";""; SE($D$2="Em Revisão - Entregue Parcialmente";"")))));"")
Cole na célula C2:
Código: Selecionar todos
=SE(É.NÃO.DISP(SE($D$2="Entregue";DataFixa();SE($D$2="A Entregar";"";SE($D$2="Em andamento";"";SE($D$2="";""; SE($D$2="Em Revisão - Entregue Parcialmente";""))))));SE($D$2="Entregue";DataFixa();SE($D$2="A Entregar";"";SE($D$2="Em andamento";"";SE($D$2="";""; SE($D$2="Em Revisão - Entregue Parcialmente";"")))));"")
Veja se resolve.

Re: Formula SE

Enviado: 14 Mar 2022 às 13:34
por FRANCISCORIBEIRO
Pedro não funcionou. Mas de qualquer forma muito obrigado por ajudar!

Re: Formula SE

Enviado: 14 Mar 2022 às 14:39
por osvaldomp
Olá, @FRANCISCORIBEIRO .

Segue uma ideia que utiliza macro em lugar da UDF.

Cole uma cópia do código abaixo no módulo da planilha. Para acessar o módulo clique com o direito na guia da planilha e escolha Exibir Código. Reforçando, cole no módulo da planilha, não é para colar no módulo em que está a UDF.
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address <> "$D$2" Then Exit Sub
 If Target.Value = "Em Andamento" And [B2] = "" Then
  [B2] = Date
 ElseIf Target.Value = "Entregue" And [C2] = "" Then
  [C2] = Date
 End If
End Sub
#
obs. para testar remova as fórmulas de B2:C2 e em seguida preencha D2 conforme a sua necessidade.

Re: Formula SE

Enviado: 29 Mar 2022 às 23:14
por FRANCISCORIBEIRO
@osvaldomp boa noite! E se eu quiser estender até a ultima linha da planilha como ficaria?

Re: Formula SE

Enviado: 30 Mar 2022 às 07:47
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 <> 4 Then Exit Sub
 If Target.Value = "Em Andamento" And Cells(Target.Row, 2) = "" Then
  Cells(Target.Row, 2) = Date
 ElseIf Target.Value = "Entregue" And Cells(Target.Row, 3) = "" Then
  Cells(Target.Row, 3) = Date
 End If
End Sub

Re: Formula SE

Enviado: 30 Mar 2022 às 09:20
por FRANCISCORIBEIRO
@osvaldomp eu tentei replicar em uma outra versão da planilha não consegui se puder me ajudar mais uma vez ficarei grato. segue a planilha em anexo. As colunas em amarelo são as referidas na macro.

Re: Formula SE

Enviado: 30 Mar 2022 às 09:41
por osvaldomp
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Count > 1 Then Exit Sub
 If Target.Column <> 17 Then Exit Sub
 If Target.Value = "Em Andamento" And Cells(Target.Row, 11) = "" Then
  Cells(Target.Row, 11) = Date
 ElseIf Target.Value = "Entregue" And Cells(Target.Row, 12) = "" Then
  Cells(Target.Row, 12) = Date
 End If
End Sub

Re: Formula SE

Enviado: 30 Mar 2022 às 10:51
por FRANCISCORIBEIRO
@osvaldomp Foi exatamente o que eu fiz mas não funcionou...

Re: Formula SE

Enviado: 30 Mar 2022 às 11:17
por osvaldomp
Disponibilize o arquivo com o código instalado e informe com exatidão o que você quer dizer com "não funcionou".

Re: Formula SE

Enviado: 30 Mar 2022 às 13:15
por FRANCISCORIBEIRO
@osvaldomp Boa tarde tudo bem? Provavelmente o "não funcionou" deve ser algo de errado que eu fiz. Segue a planilha em anexo com o código já inserido. Mais uma vez te agradeço pela atenção em ajudar!

Re: Formula SE

Enviado: 30 Mar 2022 às 16:55
por osvaldomp
osvaldomp escreveu: 14 Mar 2022 às 14:39 Olá, @FRANCISCORIBEIRO .
Cole uma cópia do código abaixo no módulo da planilha. Para acessar o módulo clique com o direito na guia da planilha e escolha Exibir Código. Reforçando, cole no módulo da planilha, não é para colar no módulo em que está a UDF.
Lembra disso? Está no post #69657. ;)
Mas você não acreditou e instalou no Módulo1, onde estava a UDF. Aí só funcionaria com ajuda do Além. :twisted:
Basta seguir com fé o que comentei acima, que vai funcionar, pode acreditar.

Re: Formula SE

Enviado: 30 Mar 2022 às 18:13
por FRANCISCORIBEIRO
@osvaldomp Deu certo valeu demais muito obrigado mesmo!

Re: Formula SE

Enviado: 07 Mai 2022 às 05:43
por JoanneWylde
Cole uma cópia do código abaixo no módulo da planilha. Para acessar o módulo clique com o direito na guia da planilha e escolha Exibir Código. Reforçando, cole no módulo da planilha, não é para colar no módulo em que está a UDF.



_________________

joes jeans