Jump to content

como obrigar o utilizador a preencher uma determinada celula


andre_franco
 Share

Recommended Posts

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... 😁

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... 🙂

Link to comment
Share on other 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.

O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Link to comment
Share on other 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

O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Link to comment
Share on other 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.

O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Link to comment
Share on other 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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.