Página 1 de 1

Células com registros obrigatorios

Enviado: 01 Jun 2016 às 12:12
por OguilhermeCouto
Estou criando um relatório, porém gostaria que algumas células se tornassem obrigatórias, para que o registro não seja esquecido

Gostaria que os campos Produto e Valor, fossem obrigatórios.

Existe uma macro, para salvar os registros na outra planilha!

Toda vez que clico em salvar os registros são salvos na Plan. Registro.


O amigo alexandrevba, deu a seguinte solução:
Código: Selecionar todos
Sub Salvar()
    If Range("C10").Value = "" Or Range("C12").Value = "" Then
        MsgBox "favor preencher(s) o campo(s)"
    Else
        'Alguma coisa
    End If
End Sub
Porém, quando clico em salvar sem o campo obrigatório, a mensagem aparece e o registro salva do mesmo jeito.

Vou ter que alterar a macro do botão salvar?

Re: Células com registros obrigatorios

Enviado: 01 Jun 2016 às 13:18
por MichelExcel
Olá Guilherme,

eu precisaria ver o código todo para entender. Mas provavelmente o problema é que mesmo caindo na condição do If e mostrando a msg o código continua executando e efetua o salvamento. Existem várias formas de se resolver isso, por exemplo colocando um Exit Sub dentro do If após o msgbox. Assim após mostrada a msg o código finaliza a execução.

Att.
#MichelExcel

Células com registros obrigatorios

Enviado: 01 Jun 2016 às 13:26
por OguilhermeCouto
Tentei fazer algumas alterações.
Porém agora está dando erro:

Erro de compilação:
'Sub' ou 'Function' não definida.
Código: Selecionar todos
Sub Salvar()
    If Range("C9").Value = "" Or Range("C11").Value = "" Or Range("C15").Value = "" Or Range("C17").Value = "" Or Range("C20").Value = "" Or Range("C22").Value = "" Or Range("C28").Value = "" Or Range("C30").Value = "" Or Range("C36").Value = "" Or Range("H11").Value = "" Or Range("H15").Value = "" Or Range("H17").Value = "" Or Range("H18").Value = "" Or Range("H36").Value = "" Or Range("F22").Value = "" Or Range("F24").Value = "" Or Range("F30").Value = "" Or Range("I30").Value = "" Or Range("I22").Value = "" Then
        MsgBox "Preencha todos os campos obrigatórios:"
            Data Venda
            Equipe
            Consultor
            CPF
            RG
            Tipo Cliente
            Proposta
            Contrato
            Cliente
            Telefones
            Email
            Endereço
            CEP
            Cidade
            Bairro ""
    Else
    End If
    
        ' salvar Macro
'
'
    Sheets("Acompanhamento de Vendas").Select
    Rows("1:3").Select
    Selection.EntireRow.Hidden = False
    Range("A2").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Rows("2:2").Select
    Selection.Copy
    Rows("3:3").Select
    Selection.Insert Shift:=xlDown
    Rows("2:2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Rows("3:3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Rows("2:2").Select
    Selection.EntireRow.Hidden = True
    Sheets("Cadastro de Vendas").Select
    ActiveWindow.SmallScroll Down:=-21
    Range( _
        "C50:D50,C48:D48,F48:G48,F50:G50,I50:J50,I48:J48,I44:J44,I42:J42,C44:F44,C42:F42,C40:F40,C38:F38,C36:E36,H36:J36" _
        ).Select
    Range("H36").Activate
    ActiveWindow.SmallScroll Down:=-9
    Range( _
        "C50:D50,C48:D48,F48:G48,F50:G50,I50:J50,I48:J48,I44:J44,I42:J42,C44:F44,C42:F42,C40:F40,C38:F38,C36:E36,H36:J36,I32:J32,I30:J30,F30:G30,D32:E32,C30:D30,C28:J28" _
        ).Select
    Range("C28").Activate
    ActiveWindow.SmallScroll Down:=-9
    Union(Range( _
        "C9:D9,C50:D50,C48:D48,F48:G48,F50:G50,I50:J50,I48:J48,I44:J44,I42:J42,C44:F44,C42:F42,C40:F40,C38:F38,C36:E36,H36:J36,I32:J32,I30:J30,F30:G30,D32:E32,C30:D30,C28:J28,F24:J24,I22:J22,F22:G22,C22:D22,C20:J20,C17:D17,C15:F15,H15:J15,H17:J17,H18:J18,H11:J11" _
        ), Range("C11:E11")).Select
    Range("C9").Activate
    Selection.ClearContents
    Range("C9:D9").Select

    End If
End Sub

Re: Células com registros obrigatorios

Enviado: 01 Jun 2016 às 15:00
por MichelExcel
Está dando erro porque você criou uma quebra de texto irregular. Agora deve funcionar.
Código: Selecionar todos
Option Explicit

Sub Salvar()
    If Range("C9").Value = "" Or Range("C11").Value = "" Or Range("C15").Value = "" Or Range("C17").Value = "" Or Range("C20").Value = "" Or Range("C22").Value = "" Or Range("C28").Value = "" Or Range("C30").Value = "" Or Range("C36").Value = "" Or Range("H11").Value = "" Or Range("H15").Value = "" Or Range("H17").Value = "" Or Range("H18").Value = "" Or Range("H36").Value = "" Or Range("F22").Value = "" Or Range("F24").Value = "" Or Range("F30").Value = "" Or Range("I30").Value = "" Or Range("I22").Value = "" Then
        MsgBox "Preencha todos os campos obrigatórios: " & _
            "Data Venda, " & _
            "Equipe, " & _
            "Consultor, " & _
            "CPF, " & _
            "RG, " & _
            "Tipo Cliente, " & _
            "Proposta, " & _
            "Contrato, " & _
            "Cliente, " & _
            "Telefones, " & _
            "Email, " & _
            "Endereço, " & _
            "CEP, " & _
            "Cidade, " & _
            "Bairro."
    Else
 
   
        ' salvar Macro
'
'
    Sheets("Acompanhamento de Vendas").Select
    Rows("1:3").Select
    Selection.EntireRow.Hidden = False
    Range("A2").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Rows("2:2").Select
    Selection.Copy
    Rows("3:3").Select
    Selection.Insert Shift:=xlDown
    Rows("2:2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Rows("3:3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Rows("2:2").Select
    Selection.EntireRow.Hidden = True
    Sheets("Cadastro de Vendas").Select
    ActiveWindow.SmallScroll Down:=-21
    Range( _
        "C50:D50,C48:D48,F48:G48,F50:G50,I50:J50,I48:J48,I44:J44,I42:J42,C44:F44,C42:F42,C40:F40,C38:F38,C36:E36,H36:J36" _
        ).Select
    Range("H36").Activate
    ActiveWindow.SmallScroll Down:=-9
    Range( _
        "C50:D50,C48:D48,F48:G48,F50:G50,I50:J50,I48:J48,I44:J44,I42:J42,C44:F44,C42:F42,C40:F40,C38:F38,C36:E36,H36:J36,I32:J32,I30:J30,F30:G30,D32:E32,C30:D30,C28:J28" _
        ).Select
    Range("C28").Activate
    ActiveWindow.SmallScroll Down:=-9
    Union(Range( _
        "C9:D9,C50:D50,C48:D48,F48:G48,F50:G50,I50:J50,I48:J48,I44:J44,I42:J42,C44:F44,C42:F42,C40:F40,C38:F38,C36:E36,H36:J36,I32:J32,I30:J30,F30:G30,D32:E32,C30:D30,C28:J28,F24:J24,I22:J22,F22:G22,C22:D22,C20:J20,C17:D17,C15:F15,H15:J15,H17:J17,H18:J18,H11:J11" _
        ), Range("C11:E11")).Select
    Range("C9").Activate
    Selection.ClearContents
    Range("C9:D9").Select

    End If
End Sub
Att.
#MichelExcel