Notifications
Clear all

Criar uma MsgBox no Excel onde já há validação de dados

6 Posts
2 Usuários
0 Reactions
1,767 Visualizações
(@henriquedb)
Posts: 9
Active Member
Topic starter
 

Boa tarde à todos,
Sou novo no fórum e muitas das dúvidas que já tive peguei aqui. Hoje estou com um problema: estou fazendo uma planilha para notas de alunos (sou secretário de escola) e quando digita-se a nota do último bimestre deste e ele é reprovado direto deve aparecer uma box de aviso informando que, com aquela última nota, ele está reprovado. Mas as células que estão para serem colocadas as notas já possui uma validação onde só me é permitido colocar notas entre 0 e 10. Alguém saberia como me ajudar?

Grato e abraços à todos.

 
Postado : 25/11/2015 2:10 pm
Basole
(@basole)
Posts: 487
Reputable Member
 

Henrique o ideal seria vc postar sua planilha ou um exemplo. de qq forma segue um exemplo:
Para testar, digite qualquer valor abaixo de 5 no intervalo [B2 : F2].

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("B2:F2")) Is Nothing Then ' altere o intervalo das suas celulas
If Target.Value < 5 Then
MsgBox "Com a nota " & Target.Value & " voce já está Reprovado! ", 64, "Atenção"
End If
End If
End Sub

Click em se a resposta foi util!

 
Postado : 25/11/2015 2:50 pm
(@henriquedb)
Posts: 9
Active Member
Topic starter
 

"Henrique o ideal seria vc postar sua planilha ou um exemplo. de qq forma segue um exemplo:
Para testar, digite qualquer valor abaixo de 5 no intervalo [B2 : F2]."
Alguma idéia de como te mandar minha planilha?

 
Postado : 26/11/2015 10:40 am
(@henriquedb)
Posts: 9
Active Member
Topic starter
 

Basole

Me ajudou bastante, amigo. Será que seria possível substituir os valores " < 5" e " > 1 " que informaste no código por células da planilha, como a B1, por exemplo? E essa substituição seria possível também com o termo "Target.Value" que aparecerá na MSgBox pela célula C1?

 
Postado : 26/11/2015 10:58 am
Basole
(@basole)
Posts: 487
Reputable Member
 

Segue as alterações solicitadas:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim sNtMin As String: sNtMin = Range("B1").Value
    Dim sNota As String: sNota = Range("C1").Value

    If Target.Count > 1 Then Exit Sub

    If Not Intersect(Target, Range("B2:F2")) Is Nothing Then    ' altere o intervalo das suas celulas
        If Target.Value < sNtMin Then
            MsgBox "Com a nota " & sNota & " voce já está Reprovado! ", 64, "Atenção"
        End If

    End If

End Sub

Click em se a resposta foi util!

 
Postado : 26/11/2015 1:20 pm
(@henriquedb)
Posts: 9
Active Member
Topic starter
 

Obrigado!

 
Postado : 27/11/2015 6:16 am