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
 

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

×