Notifications
Clear all

Checagem de células vazias retornado com mensagem de erro.

3 Posts
2 Usuários
0 Reactions
584 Visualizações
(@danieljmf)
Posts: 2
New Member
Topic starter
 

Olá sou inciante em VBA e estou elaborando um mapa de notas para uma escola, o referido mapa é individual para cada professor, e tem duas planilhas. A primeira planilha "alimentando mapas" serve para o professor criar os mapas com base em uma planilha oculta "mapa 0", neste caso devem ser preenchidos os campos Docente Turma, Matéria e Estudantes na planilha "alimentando mapas".

Gostaria que os campos (F5) Docente, (F7)Turma e (F9) Matéria na planilha "Alimentando mapas" fossem checados e caso estivessem vazios retornassem com mensagem de erro, alem de interromper a execução da macro nos passos seguintes para não criar mapas vazios.

Segue o que já elaborei até aqui.


Sub CriarPlanilha()
'
' Macro1 Macro
'
'
    Application.ScreenUpdating = False
    Sheets("Mapa 0").Visible = True
    Sheets("Mapa 0").Select
    Sheets("Mapa 0").Copy Before:=Sheets(2)
    Sheets("Alimentando Mapas").Select
    Range("F5:F9").Select
    Selection.Copy
    Sheets("Mapa 0 (2)").Select
    Range("C3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Alimentando Mapas").Select
    Range("F11:F55").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Mapa 0 (2)").Select
    Range("C10").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Alimentando Mapas").Select
    Range("F5:F9").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("F11:F55").Select
    Selection.ClearContents
    Sheets("Mapa 0 (2)").Select
    ActiveSheet.Name = Range("A1").Value
    Sheets("Mapa 0").Visible = False
    Application.ScreenUpdating = True
End Sub
 
Postado : 08/02/2017 10:28 am
(@skulden)
Posts: 170
Estimable Member
 

Não vi o seu código todo, mas pra resolver o seu problema basta acrescentar esta parte aqui.

Meio simplificado, mas em base é isso.

Acrescente onde você achar mais favorável


if Sheets("Alimentando Mapas").Range("F5").Value = "" or Sheets("Alimentando Mapas").Range("F7").Value or Sheets("Alimentando Mapas").Range("F9").Value = "" Then

     msgbox "Você deixou campos em branco."
     Exit Sub

End if

Se a resposta lhe foi útil, clique no joinha!

 
Postado : 08/02/2017 10:46 am
(@danieljmf)
Posts: 2
New Member
Topic starter
 

Olá skulden muito obrigado, estava dando erros e fiz uma adaptação com o que você código que você me passou.
ficou assim.

If Sheets("Alimentando Mapas").Range("F5").Value = "" Then

MsgBox "Você deixou campos em branco."
Exit Sub
End If

If Sheets("Alimentando Mapas").Range("F7").Value = "" Then

MsgBox "Você deixou campos em branco."
Exit Sub
End If

If Sheets("Alimentando Mapas").Range("F9").Value = "" Then

MsgBox "Você deixou campos em branco."
Exit Sub
End If

 
Postado : 08/02/2017 11:14 am