Ir ao conteúdo

Como colocar em VBA no EXCEL para evitar salvar e imprimir


MrDiniz

Posts recomendados

Postado

Pessoal, como faço para evitar que a pessoa salve e imprima antes de preencher todos os campos?

 

A validação de preencher os campos já fiz, eu só não sei como faço para verificar antes de salvar E imprimir

 

antes de salvar sei que é assim:

Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean)

Mas como adiciono antes de imprimir?

Postado

MrDiniz bom dia, 

 

É da mesma forma que fez na outra questão, mas se nesse caso for outra planilha, altere o nome e as celulas que esão vinculadas aos botões, se for o caso.  

Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean)'Impede Salvar ComoCancel = TrueIf Range("PROJETO_CFTV!AC7") = "1" ThenMensagem = MsgBox("Campo: 'AFF' - Está Vazio. (Planilha: 'PROJETO_CFTV' Campo: 'D5')", vbExclamation, "Documento  _não será salvo sem o devido preenchimento")End If
Postado

Acho que não me expressei bem :)

 

eu quero que não salve e não imprima o documento... já sei colocar desse jeito que falou Basole... é que agora além de impedir de salvar queria adicionar para não imprimir também

Postado


Private Sub Workbook_BeforePrint(Cancel As Boolean)

Postado

Os dois códigos (BeforeSave e BeforePrint) são disparados de forma independente um do outro, por isso será necessário instalar os dois e replicar as instruções de verificação dos preenchimentos.

 

Quanto aos If's, no código que você postou, se B27 for Falso, os demais If's serão verificados de forma independente um do outro.

Por outro lado, se B27 for Verdadeiro os demais If's não serão verificados.

 

Se você quer algo diferente disso precisa descrever o que quer.

Postado

Valeu pelas informações....

 

Já considero respondido.... sobre o meu outro caso eu tirei porque percebi que os campos possuem fórmulas, e por isso ele não acusava os campos como vazios...

 

Pensei em colocar algo que ao abrir a planilha ele possa zerar estes campos... e caso ele clicque em B27 (torna-lo verdadeiro) eu adiciono as fórmulas nos campos...

 

Mas não sei como fazer isso... você saberia me dizer qual o comando para limpar os campos e o comando de inserir a fórmula?

Postado


Private Sub Workbook_Open()

  With Sheets("Plan1")

    .Range("D5:F8,M10,P5:P8") = "" 'limpa células

    .[B20] = "=SUM(D5:F8)" 'insere a fórmula =SOMA(D5:F8) em B20

    .[H5] = "=IF(P10=""jacaré"",M5,""tranquilo"")" 'insere a fórmula =SE(P10="jacaré";M5;"tranquilo") em H5

  End With

End Sub

Postado

Porque não salva mesmo que eu preencha os campos??? eu deixei um IF com um ELSE só para mandar um AVISO mas mesmo tirando essa linha ele não salva o arquivo...  

Private Sub Workbook_Open()  With Sheets("DADOS_GERAIS")    .Range("C26,C30,G30,C32,G32,C34,G34,G36,C38,G38,C40") = "" 'limpa células  End WithEnd SubSub Caixadeseleção15_Clique()    If Range("DADOS_GERAIS!B27") = True Then            [C26].FormulaLocal = "=SE(B27=VERDADEIRO;C6;"""")"        [C30].FormulaLocal = "=SE(B27=VERDADEIRO;C10;"""")"        [G30].FormulaLocal = "=SE(B27=VERDADEIRO;G12;"""")"        [C32].FormulaLocal = "=SE(B27=VERDADEIRO;C14;"""")"        [G32].FormulaLocal = "=SE(B27=VERDADEIRO;G14;"""")"        [C34].FormulaLocal = "=SE(B27=VERDADEIRO;C16;"""")"        [G34].FormulaLocal = "=SE(B27=VERDADEIRO;G16;"""")"        [G36].FormulaLocal = "=SE(B27=VERDADEIRO;G18;"""")"        [C38].FormulaLocal = "=SE(B27=VERDADEIRO;C20;"""")"        [G38].FormulaLocal = "=SE(B27=VERDADEIRO;G20;"""")"        [C40].FormulaLocal = "=SE(B27=VERDADEIRO;C22;"""")"        Else        'Limpa os campos para verificar        [C26].FormulaLocal = ""        [C30].FormulaLocal = ""        [G30].FormulaLocal = ""        [C32].FormulaLocal = ""        [G32].FormulaLocal = ""        [C34].FormulaLocal = ""        [G34].FormulaLocal = ""        [G36].FormulaLocal = ""        [C38].FormulaLocal = ""        [G38].FormulaLocal = ""        [C40].FormulaLocal = ""    End If    End SubPrivate Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean)'Impede Salvar ComoCancel = True'Verifica a aba CONSULTORIf IsEmpty(Range("CONSULTOR!E5")) ThenMensagem = MsgBox("Campo: 'Consultor/RC' Está Vazio. (Planilha: 'CONSULTOR' Campo: 'E5')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("CONSULTOR!E9")) ThenMensagem = MsgBox("Campo: 'MATRÍCULA' - Está Vazio. (Planilha: 'CONSULTOR' Campo: 'E9')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("CONSULTOR!E17")) ThenMensagem = MsgBox("Campo: 'CELULAR' - Está Vazio. (Planilha: 'CONSULTOR' Campo: 'E17')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End If'Verifica a aba DADOS_GERAISIf IsEmpty(Range("DADOS_GERAIS!D2")) ThenMensagem = MsgBox("Campo: 'Nº DA PROPOSTA/CONTRATO' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'D2')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("DADOS_GERAIS!M2")) ThenMensagem = MsgBox("Campo: 'N. Atendimento' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'M2')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("DADOS_GERAIS!C6")) ThenMensagem = MsgBox("Campo: 'PROPONENTE' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'C6')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("DADOS_GERAIS!C12")) ThenMensagem = MsgBox("Campo: 'CNPJ/CPF' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'C12')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("DADOS_GERAIS!G12")) ThenMensagem = MsgBox("Campo: 'I.E/RG' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'G12')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("DADOS_GERAIS!C14")) ThenMensagem = MsgBox("Campo: 'CONTATO' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'C14')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("DADOS_GERAIS!G14")) ThenMensagem = MsgBox("Campo: 'E-MAIL' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'G14')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("DADOS_GERAIS!C16")) ThenMensagem = MsgBox("Campo: 'ENDEREÇO' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'C16')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("DADOS_GERAIS!G16")) ThenMensagem = MsgBox("Campo: 'NÚMERO' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'G16')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("DADOS_GERAIS!G18")) ThenMensagem = MsgBox("Campo: 'BAIRRO' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'G18')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("DADOS_GERAIS!C20")) ThenMensagem = MsgBox("Campo: 'CIDADE' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'C20')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("DADOS_GERAIS!G20")) ThenMensagem = MsgBox("Campo: 'CEP' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'G20')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("DADOS_GERAIS!M20")) ThenMensagem = MsgBox("Campo: 'INSTALAÇÃO EM' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'M20')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("DADOS_GERAIS!C22")) ThenMensagem = MsgBox("Campo: 'TELEFONE' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'C22')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf IsEmpty(Range("DADOS_GERAIS!N26")) ThenMensagem = MsgBox("Campo: 'INDICADO POR' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'N26')", vbExclamation, "Documento não será salvo sem o devido preenchimento")Mensagem = MsgBox("AVISO" & Chr(13) & "Se for CORRETOR, preencher o campo: 'SUSEP'" & Chr(13) & "(Planilha: 'DADOS_GERAIS' Campo: 'M26')", vbExclamation, "Documento não será salvo sem o devido preenchimento")ElseMensagem = MsgBox("AVISO" & Chr(13) & "Se for CORRETOR, preencher o campo: 'SUSEP'" & Chr(13) & "(Planilha: 'DADOS_GERAIS' Campo: 'M26')", vbExclamation, "Documento não será salvo sem o devido preenchimento")End IfIf Range("DADOS_GERAIS!B27") = False Then    If IsEmpty(Range("DADOS_GERAIS!C26")) Then    Mensagem = MsgBox("Local de instalação diferente do proponente, preencher o(s) campo(s):" & Chr(13) & "Campo: 'BENEFICIÁRIO' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'C26')", vbExclamation, "Documento não será salvo sem o devido preenchimento")    End If        If IsEmpty(Range("DADOS_GERAIS!C30")) Then    Mensagem = MsgBox("Local de instalação diferente do proponente, preencher o(s) campo(s):" & Chr(13) & "Campo: 'CNPJ/CPF' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'C30')", vbExclamation, "Documento não será salvo sem o devido preenchimento")    End If        If IsEmpty(Range("DADOS_GERAIS!G30")) Then    Mensagem = MsgBox("Local de instalação diferente do proponente, preencher o(s) campo(s):" & Chr(13) & "Campo: 'I.E/RG' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'G30')", vbExclamation, "Documento não será salvo sem o devido preenchimento")    End If    If IsEmpty(Range("DADOS_GERAIS!C32")) Then    Mensagem = MsgBox("Local de instalação diferente do proponente, preencher o(s) campo(s):" & Chr(13) & "Campo: 'CONTATO' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'C32')", vbExclamation, "Documento não será salvo sem o devido preenchimento")    End If    If IsEmpty(Range("DADOS_GERAIS!G32")) Then    Mensagem = MsgBox("Local de instalação diferente do proponente, preencher o(s) campo(s):" & Chr(13) & "Campo: 'E-MAIL' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'G32')", vbExclamation, "Documento não será salvo sem o devido preenchimento")    End If    If IsEmpty(Range("DADOS_GERAIS!C34")) Then    Mensagem = MsgBox("Local de instalação diferente do proponente, preencher o(s) campo(s):" & Chr(13) & "Campo: 'ENDEREÇO' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'C34')", vbExclamation, "Documento não será salvo sem o devido preenchimento")    End If    If IsEmpty(Range("DADOS_GERAIS!G34")) Then    Mensagem = MsgBox("Local de instalação diferente do proponente, preencher o(s) campo(s):" & Chr(13) & "Campo: 'NÚMERO' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'G34')", vbExclamation, "Documento não será salvo sem o devido preenchimento")    End If    If IsEmpty(Range("DADOS_GERAIS!G36")) Then    Mensagem = MsgBox("Local de instalação diferente do proponente, preencher o(s) campo(s):" & Chr(13) & "Campo: 'BAIRRO' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'G36')", vbExclamation, "Documento não será salvo sem o devido preenchimento")    End If    If IsEmpty(Range("DADOS_GERAIS!C38")) Then    Mensagem = MsgBox("Local de instalação diferente do proponente, preencher o(s) campo(s):" & Chr(13) & "Campo: 'CIDADE' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'C38')", vbExclamation, "Documento não será salvo sem o devido preenchimento")    End If    If IsEmpty(Range("DADOS_GERAIS!G38")) Then    Mensagem = MsgBox("Local de instalação diferente do proponente, preencher o(s) campo(s):" & Chr(13) & "Campo: 'CEP' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'G38')", vbExclamation, "Documento não será salvo sem o devido preenchimento")    End If    If IsEmpty(Range("DADOS_GERAIS!C40")) Then    Mensagem = MsgBox("Local de instalação diferente do proponente, preencher o(s) campo(s):" & Chr(13) & "Campo: 'TELEFONE' - Está Vazio. (Planilha: 'DADOS_GERAIS' Campo: 'C40')", vbExclamation, "Documento não será salvo sem o devido preenchimento")    End IfEnd IfExit SubEnd Sub

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!