andre_franco Posted November 15, 2009 at 12:36 AM Report Share #296248 Posted November 15, 2009 at 12:36 AM 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 More sharing options...
FreiNando Posted November 15, 2009 at 05:08 PM Report Share #296337 Posted November 15, 2009 at 05:08 PM 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 More sharing options...
andre_franco Posted November 16, 2009 at 10:18 PM Author Report Share #296574 Posted November 16, 2009 at 10:18 PM tem logica... mas eu não sei como é que isto se usa 😛 algem me pode mostar um exemplo? Link to comment Share on other sites More sharing options...
FreiNando Posted November 16, 2009 at 10:55 PM Report Share #296584 Posted November 16, 2009 at 10:55 PM 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 More sharing options...
jpaulino Posted November 17, 2009 at 07:50 AM Report Share #296610 Posted November 17, 2009 at 07:50 AM Bem detalhado FreiNando! 😛 Link to comment Share on other sites More sharing options...
andre_franco Posted November 18, 2009 at 01:28 AM Author Report Share #296739 Posted November 18, 2009 at 01:28 AM Muito obrigado Freinando. Fico a dever-te uma. já consegui adaptar ao ficheiro que eu queria. mais una vez obrigado. 😉 Link to comment Share on other sites More sharing options...
FreiNando Posted November 18, 2009 at 08:49 AM Report Share #296743 Posted November 18, 2009 at 08:49 AM 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 More sharing options...
Adriano Nogueira Posted June 13, 2012 at 06:53 PM Report Share #462550 Posted June 13, 2012 at 06:53 PM 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 More sharing options...
FreiNando Posted June 13, 2012 at 08:57 PM Report Share #462567 Posted June 13, 2012 at 08:57 PM Substitui If Range("A1") = "" Then por If Range("E12") = "" Or Range("E14") = "" Or Range("E15") = "" Or Range("E16") = "" Then e claro, altera a mensagem. O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now