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.
  • Avatar do usuário
Por FRANCISCORIBEIRO
Posts
#69585
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.
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por PHSabater
Posts Avatar
#69589
É 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?
Avatar do usuário
Por PHSabater
Posts Avatar
#69597
Isso eu entendi. O que quero entender é que resultado espera em DATAS dessa alteração.
Por FRANCISCORIBEIRO
Posts
#69650
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!
Avatar do usuário
Por PHSabater
Posts Avatar
#69652
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.
Por osvaldomp
#69657
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.
Por osvaldomp
#70023
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
Por FRANCISCORIBEIRO
Posts
#70030
@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.
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#70031
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
Por osvaldomp
#70038
Disponibilize o arquivo com o código instalado e informe com exatidão o que você quer dizer com "não funcionou".
Por FRANCISCORIBEIRO
Posts
#70041
@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!
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#70045
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.
Por JoanneWylde
#70633
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
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