Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Feljr

Campo Obrigatório Excel

Recommended Posts

Olá amigos!

Gostaria de saber se em um formulário qualquer feito no excel 2003, nos campos para preenchimento, se pode torná-los obrigatórios, ou seja, quando o usuário abrir o formulário deverá origatóriamente preencher todos os campos solicitados, caso contrário não poderá salvar o documento. Tem como fazer isso no Excel?:confused: Muito obrigado pela atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente fazer antes uma checagem se todos os campos que você deseja estão preenchidos e só então habilite a proxima ação. Exemplo:

If TextBox1.Text = Empty Then

MsgBox "Não é permitido campo vazio"

TextBox1.SetFocus

Exit Sub

Else

MsgBox "ok"

'Ação que você deseja se estiver ok

End If

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Valeu pela dica, porém quero quando um usuário deixar de preencher determinado campo, o arquivo não possa ser salvo, ou então que emita uma mensagem informando que tal campo é obrigatório o preenchimento.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Tente isto:

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

    'Impede Salvar Como

    Cancel = True

    'Verifica se TextBox1 está vazio

    If ActiveSheet.OLEObjects("TextBox1").Object.Value = Empty Then

    Mensagem = MsgBox("TextBox1 vazio", vbCritical, "Documento não será salvo")

    Exit Sub

    Else

    End If

    End Sub

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    ok,

    Eu vi isso mas como eu ainda estou aprendendo macros eu nao consigo fazer isso acima,

    se eu precisasse bloquear as celulas A1, B1 e C1 só deixar salvar se for preenchido alguma coisa... como devo proceder .

    Grato

    denis

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Aperte Alt+F11 e no navegador de projetos abra EstaPasta_de_trabalho

    e digite o código:

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

    'Impede Salvar Como

    Cancel = True

    'Verifica se as células A1, B1 ou C1 estão vazias

    If IsEmpty(Range("A1")) And IsEmpty(Range("B1")) And IsEmpty(Range("C1")) Then

    Mensagem = MsgBox("Células A1, B1 ou C1 estão vazias.", vbExclamation, "Documento não será salvo")

    Exit Sub

    Else

    End If

    End Sub

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    ahhh q beleza..

    valeu... eu consegui fazer ...

    eu tenho 4 worksheet , se eu colocar essa função ...as 4 worksheet eu terei q colcoar algum dado pra salvar

    1 - tem como fazer separado? tipo na worksheet 1 eu coloco as celculas a1,b1,c1, na worksheet 2 eu nao coloco nada ... e assim por diante?

    um outro detalhe, eu nao consegui salvar, mesmo estando preenchido essas celulas, o aviso nao vai aparecer mas nao consigo salvar... utilizando a função acima

    valeuu

    Denis

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Troque o código, em vez de escrever somente Range("A1"), escreva Range("Plan1!A1") neste caso a planilha será a que tiver o nome de Plan1, coloque o nome da planilha que você quer.

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

    'Impede Salvar Como

    Cancel = True

    'Verifica se as células A1, B1 e C1 estão vazias

    If IsEmpty(Range("Plan1!A1")) Or IsEmpty(Range("Plan1!B1")) Or IsEmpty(Range("Plan1!C1")) Then

    Mensagem = MsgBox("Células A1, B1 ou C1 estão vazias.", vbExclamation, "Documento não será salvo")

    Exit Sub

    End If

    End Sub

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    >..

    coloquei uma macro pra fazer uma impressão simples do excel, porém eu gostaria de q aparecesse um aviso pergguntando

    " voce tem certeza que deseja imprimir tudo" ???

    ( ) SIM ( ) NÂO

    se eu clicar em não ele volta pro inicio e se e clicar em sim e continua o processo de impressão..

    como posso fazer isso??

    vlwwww

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Novamente em EstaPasta_de_trabalho

    Use o comando MsgBox e a sub BeforePrint dessa forma:

    Private Sub Workbook_BeforePrint(Cancel As Boolean)

    If MsgBox("Você tem certeza que deseja imprimir tudo?", vbYesNo, "Imprimir") = vbYes Then

    Cancel = False

    Else

    Cancel = True

    Exit Sub

    End If

    End Sub

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    com o bota feito para imprimir e com o aviso feito,

    existe algum jeito de escolher quais são as "abas" q eu queira imprimir? utilizando macro

    "ex. gostaria q fosse impresso a 1 , 3 e 5 aba tem como?

    valeeewww

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    tem como impedir que alguem salve ou imprima o arquivo se ela nao selecionar nada em uma caixa de combinação?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Tem sim... é só criar duas Sub em EstaPasta_de_trabalho com os códigos:

    Private Sub Workbook_BeforePrint(Cancel As Boolean)

    If IsEmpty([sUA CAIXA DE COMBINAÇÃO] Then

    Cancel = True

    MsgBox "A caixa de combinação está vazia", vbExclamation, "Não será impresso"

    Else Cancel = False

    Exit Sub

    End If

    End Sub

    Private Sub Workbook_BeforeSave(Cancel As Boolean)

    If IsEmpty([sUA CAIXA DE COMBINAÇÃO] Then

    Cancel = True

    MsgBox "A caixa de combinação está vazia", vbExclamation, "Não será salvo"

    Else Cancel = False

    Exit Sub

    End If

    End Sub

    Editado por dofall

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Senhores,

    Estou criei uma cópia duas sheets para um novo arquivo, porém algumas macros ficaram no arquivo anterior,.

    existe um meio de fazer isso automatico, quando eu criar uma cópia, a macro que está dentro de "Estapastadetrabalho" ir junto?

    vlwww

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Se você colocar salvar como com nomes diferentes acho que dá certo.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    hummm brigadao, eu tava quebrando a cabeça pra fazer esse "bloqueio" com essas caixas

    mas agora to com um problema, ta impedindo de imprimir mesmo que tenha alguma coisa selecionada na caixa

    e quando eu transformo uma celula em parte obrigatoria ta dando problema tambem

    porque quando a celula ta vazia da o erro como deveria, mas se a celula ta preenchida ele nao imprime, nao salva e nao da erro nem nada

    obs: totalmente leigo em vba :X

    Editado por Takahata

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Vai ver que você não fez referência certa à caixa de combinação. Não esqueça de por ".Text"

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    consegui!!

    valeu pela ajuda cara

    obs: nao precisei colocar .text, pra que isso serve? /amd

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    .text vai dizer que se trata do texto da caixa de combinação, aí ele vai verificar se o texto da caixa de combinação está vazio. Mas realmente não precisa.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    ola

    imagine uma tabela que vai da coluna A ate D por exemplo,

    Caso o usuário, preencha qualquer celula da primeira linha

    ou seja, qualquer célula: A1 ou B1 ou C1 ou D1. então ele obriga

    o preenchimento das outras da mesma linha. enqunto o usuário nao preencher

    toda a linha, ai ele nao habilita o botao Salvar. Isso vale dambem para as outras Linhas

    da tabela. Se o usuário preencher qualquer celula da segunda linha, ai ele obriga o preenchimento

    de toda a linha só ai ela habilitará a opção de salvar.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Troque o código, em vez de escrever somente Range("A1"), escreva Range("Plan1!A1") neste caso a planilha será a que tiver o nome de Plan1, coloque o nome da planilha que você quer.

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

    'Impede Salvar Como

    Cancel = True

    'Verifica se as células A1, B1 e C1 estão vazias

    If IsEmpty(Range("Plan1!A1")) Or IsEmpty(Range("Plan1!B1")) Or IsEmpty(Range("Plan1!C1")) Then

    Mensagem = MsgBox("Células A1, B1 ou C1 estão vazias.", vbExclamation, "Documento não será salvo")

    Exit Sub

    End If

    End Sub

    Olá amigos,

    Sou novo neste fórum e preciso de ajuda. Preciso de um código que só permita salvar um arquivo no excel se alguns campos obrigatórios estiverem preenchidos. Já vi alguns códigos que incluem a opção de "Impedir salvar como". No meu caso, é necessário salvar como, mas alguns campos campos devem estar preenchidos obrigatoriamente para permitir que o arquivo seja salvo. Já utilizei o código em anexo nesta msg, mas ele não deixa salvar o arquivo. Espero que alguém possa me ajudar. Obrigado e abraços!

    Editado por cleandro.martins

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    dofall

    Tenho visto que você tem bastante conhecimento com o Macro

    preciso de sua ajuda.. Ou de mais alguém que saiba me ajudar.. :D

    Tenho uma planilha em que eu vou colocando uns dados, e ela vai fazendo calculos..

    nessa mesma planilha eu tenho várias tabelas de dados..

    e de acordo com os calculos que são feitos.. eu vou identificando os dados que eu quero nessas tabelas.

    Gostaria de saber como eu posso mudar as linhas e colunas dessas tabelas de cor, a medida que eu efetuo os calculos.

    Obrigado!

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×