Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Problema com(ByVal Cancel As MSForms.ReturnBoolean)[RESOLVIDO]
Problema com(ByVal Cancel As MSForms.ReturnBoolean)[RESOLVIDO]
Olá, sou meio leigo em questões de codificação e só sei o que aprendi aqui e em outros foruns e locais da web.
criei umas pasta habilitada com alguns userforms e nelas textbox e combobox para editar a planilhas ao clicar no botão. Minha dúvida é:
Meus textbox e combobox estão separados por quadros e utilizei um comando (ByVal Cancel As MSForms.ReturnBoolean) em cada textbox e combobox para impedir que sejam esquecidos de serem preenchidos, e deu resultado, porém o ultimo textbox ou combobox do quadro não ativa o comando quando aperto enter ou tab, e vai direto para o proximo campo, como resolver isso? segue comandos:
Private Sub Combobox11_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(ComboBox11.Text) = 0 Then
MsgBox "Selecione Sim ou Não para:Mudança na rotina do Imóvel?(festa,obra mais pessoas,animais,etc):", vbCritical, "AVISO!"
Cancel = True
ComboBox11.SelStart = 0
ComboBox11.SelLength = ComboBox11.TextLength
Else
End If
End Sub
criei umas pasta habilitada com alguns userforms e nelas textbox e combobox para editar a planilhas ao clicar no botão. Minha dúvida é:
Meus textbox e combobox estão separados por quadros e utilizei um comando (ByVal Cancel As MSForms.ReturnBoolean) em cada textbox e combobox para impedir que sejam esquecidos de serem preenchidos, e deu resultado, porém o ultimo textbox ou combobox do quadro não ativa o comando quando aperto enter ou tab, e vai direto para o proximo campo, como resolver isso? segue comandos:
Private Sub Combobox11_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(ComboBox11.Text) = 0 Then
MsgBox "Selecione Sim ou Não para:Mudança na rotina do Imóvel?(festa,obra mais pessoas,animais,etc):", vbCritical, "AVISO!"
Cancel = True
ComboBox11.SelStart = 0
ComboBox11.SelLength = ComboBox11.TextLength
Else
End If
End Sub
Editado pela última vez por kikoehu em Sáb Set 15, 2018 4:25 pm, em um total de 1 vez.
Re: Problema com(ByVal Cancel As MSForms.ReturnBoolean)
Coloca a planilha aí pra gente tentar ajudar...
Re: Problema com(ByVal Cancel As MSForms.ReturnBoolean)
Na verdade a inserção da planilha através do combobox está ok, meu problema é que os ultimos campos de cada quadro não ativa o comando (ByVal Cancel As MSForms.ReturnBoolean), que deveria abrir um msgbox avisando que precisa ser preenchido tal campo, os demais funcionam normalmente, menos o ultimo de cada Quadro.
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Problema com(ByVal Cancel As MSForms.ReturnBoolean)
Ao que parece os eventos do "ultimo controle em cada quadro" são sobrepostos pelos eventos desse "Quadro".
Assim o Exit desse controle acontece "simultaneamente" com o Exit do "quadro", sendo esse ultimo dominante.
Alternativa; talvez pois não experimentei/testei:
acrescentar um outro campo "invisivel", sem função, apenas para incluir um ponto de tabulação antes da saída do Frame ou
Testar experimentar outro evento do controle "Before_Exit" por exemplo
Assim o Exit desse controle acontece "simultaneamente" com o Exit do "quadro", sendo esse ultimo dominante.
Alternativa; talvez pois não experimentei/testei:
acrescentar um outro campo "invisivel", sem função, apenas para incluir um ponto de tabulação antes da saída do Frame ou
Testar experimentar outro evento do controle "Before_Exit" por exemplo
Re: Problema com(ByVal Cancel As MSForms.ReturnBoolean)
Reinaldo escreveu: ↑Sáb Set 15, 2018 8:14 am Ao que parece os eventos do "ultimo controle em cada quadro" são sobrepostos pelos eventos desse "Quadro".
Assim o Exit desse controle acontece "simultaneamente" com o Exit do "quadro", sendo esse ultimo dominante.
Alternativa; talvez pois não experimentei/testei:
acrescentar um outro campo "invisivel", sem função, apenas para incluir um ponto de tabulação antes da saída do Frame ou
Testar experimentar outro evento do controle "Before_Exit" por exemplo
Puxa Reinaldo, uma coisa simples e eu aqui quebrando a cabeça... A questão de colocar outro campo "invisível" deu certo, mas tiver que deixar visível pra poder funcionar, pois com a propriedade visible em false ficou a mesma coisa, mas contornei a situação formatando o campo,deixando da cor do bg pra ficar invisivel. Obrg pela dica!