Notifications
Clear all

Bloquear célula se a outra estiver sem valor

8 Posts
4 Usuários
0 Reactions
1,748 Visualizações
 ever
(@ever)
Posts: 0
New Member
Topic starter
 

Boa tarde galera,

To realmente satisfeito com o fórum, tem me ajudado muito, espero que possam me ajudar mais nessa.

Preciso que seja negado incluir valor na célula A20 se na célula AA19 estiver sem valor nenhum, porém ambas as células já tem fórmulas nelas, sendo:

Fórmula na célula A20: Validação de dados -> =CONT.SE($A$19:$A19;A19)<=1

Fórmula na célula AA19: =SOMA(U19;S19;Q19;O19)

RESUMINDO: A fórmula AA19 é a soma de peças compradas, preciso que a célula A20 (Produto) esteja bloqueada, para que seja impossível incluir novo produto na A20 se o produto anterior for menor que 0 a quantidade

 
Postado : 04/12/2014 12:05 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Nao abri a tua planilha (que estava no outro post), mas experimente usar validação de dados na célula A20, colocando a fórmula:

=A19<>""

 
Postado : 04/12/2014 12:22 pm
 ever
(@ever)
Posts: 0
New Member
Topic starter
 

Não deu certo =/

 
Postado : 04/12/2014 12:28 pm
 kiko
(@kiko)
Posts: 36
Eminent Member
 

Tente assim:
na célula A20: Validação de dados -> =SE(AA19<>"";CONT.SE($A$19:$A19;A19)<=1;"")

 
Postado : 04/12/2014 12:29 pm
 ever
(@ever)
Posts: 0
New Member
Topic starter
 

Assim quase deu certo!

O campo AA19 tem uma fórmula, se eu apagar essa fórmula e deixar o campo totalmente em branco, essa fórmula que vc passou dá certo!

PORÉM com a fórmula na célula AA19, essa fórmula que vc passou não funciona, ela deixa incluir outro campo na célula A20.

Acho que a forma seria colocar que o campo AA19 precisa ser maior que 1 para poder colocar um valor na célula A20, mas junto com essa nova fórmula a "antiga" também precisa funcionar "=CONT.SE($A$19:$A19;A19)<=1"

 
Postado : 04/12/2014 12:40 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Cole a rotina na aba que quer e veja se é isto :

Ela não trava a Celula, simplesmente Limpa e Retorna para mesma

Private Sub Worksheet_Change(ByVal Target As Range)

    Application.EnableEvents = False
    
    If Target.Address = "$A$20" Then
            
            If Target.Offset(-1, 0).Value = "" Then
                
                MsgBox "Celula A19 em Branco !!!"
                Target.Offset(0, 0).Value = ""
                Target.Offset(0, 0).Select
            Else
            
                MsgBox "Celula A19 preechida - sua macro continua "
                
            End If
            
    End If
   
    Application.EnableEvents = True
   
End Sub

Já apaguei o outro tópico.

[]s

 
Postado : 04/12/2014 1:46 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não percebi que estava no forum "Formulas e Funções..." de qualquer forma vou deixar a rotina.

[]s

 
Postado : 04/12/2014 1:50 pm
 ever
(@ever)
Posts: 0
New Member
Topic starter
 

É exatamente isso, mas agora preciso que isso ocorra em todas as células da coluna A, proporcionalmente, por exemplo.

A20 só pode ser preenchida se AA19 tiver um valor acima de 1
A21 só pode ser preenchida se AA20 tiver um valor acima de 1
A22 só pode ser preenchida se AA21 tiver um valor acima de 1
A23 só pode ser preenchida se AA22 tiver um valor acima de 1

E assim por diante..

 
Postado : 04/12/2014 1:54 pm