• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

andre_franco

como obrigar o utilizador a preencher uma determinada celula

9 mensagens neste tópico

Olá a todos, antes de mais queria saudar todo o pessoal do fórum.

Sou novo por aqui... e no VBA

vou tentar aprender mt e tentar ajudar com o pouco que sei... :cheesygrin:

Gostaria de saber como é que posso obrigar um  utilizador a preencher uma determinada célula, ou seja,

se o utilizador preencher a célula a1 eu queria que ele fosse obrigado a preencher a célula a2 (se não for assim não dar para gravar o documento) e que desse para copiar a formula para toda a coluna.

estou farto de pesquisar em foruns mas não encontro nada...

agradecia ajuda... :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se é para usar em Excell,

basta usares o evento Workbook_BeforeClose(Cancel As Boolean) do Livro e colocares lá as condições pretendidas, que caso não sejam cumpridas metes Cancel = True e o documento não fecha.

Convém colocar uma mensagem em caso de bloqueio para o utilizador saber o que fazer, e não ficar a penar que o Excell está com problema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tem logica... mas eu não sei como é que isto se usa :P

algem me pode mostar um exemplo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Imaginemos que você quer que a Célula 'A1' seja preenchida:

- Abre a janela do VBA (Alt+F11);

- No explorador do projecto, duplo click em 'EsteLivro' ou algo parecido;

- Na janela do código, parte superior esquerda seleciona Workbook, parte direita BeforeClose;

- Insere o código:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   If Range("A1") = "" Then
       If MsgBox("Falta Inserir dados na Celula: A1" & vbCrLf & _
           "Quer sair sem introduzir os dados?", _
           vbDefaultButton2 + vbYesNo) = vbYes Then Exit Sub
       Cancel = True
   End If
End Sub

Uma imagem ajuda: http://img198.imageshack.us/img198/8308/vba.png

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muito obrigado Freinando.

Fico a dever-te uma.

já consegui adaptar ao ficheiro que eu queria.

mais una vez obrigado. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Fico satisfeito poder ajudá-lo,

e convém notar que, como outros já disseram, este forum serve para partilhar informação e esclarecer dúvidas, e esta informação não é particular, é da comunidade. quando você puder contribuir para a comunidade não se acanhe e partilhe também.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Imaginemos que você quer que a Célula 'A1' seja preenchida:

- Abre a janela do VBA (Alt+F11);

- No explorador do projecto, duplo click em 'EsteLivro' ou algo parecido;

- Na janela do código, parte superior esquerda seleciona Workbook, parte direita BeforeClose;

- Insere o código:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   If Range("A1") = "" Then
       If MsgBox("Falta Inserir dados na Celula: A1" & vbCrLf & _
           "Quer sair sem introduzir os dados?", _
           vbDefaultButton2 + vbYesNo) = vbYes Then Exit Sub
       Cancel = True
   End If
End Sub

Uma imagem ajuda: http://img198.imageshack.us/img198/8308/vba.png

Eu estou passando pelo mesmo problema.

Mas e quando as células são separadas umas das outras.

Como eu faço?

As células são E12; E14: E16

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Substitui If Range("A1") = "" Then

por If Range("E12") = "" Or Range("E14") = "" Or Range("E15") = "" Or Range("E16") = "" Then

e claro, altera a mensagem.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora