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

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#11260
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?
#11265
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
#11269
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
#11283
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
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