Página 1 de 1

Problema com(ByVal Cancel As MSForms.ReturnBoolean)[RESOLVIDO]

Enviado: Sex Set 14, 2018 11:51 pm
por kikoehu
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

Re: Problema com(ByVal Cancel As MSForms.ReturnBoolean)

Enviado: Sex Set 14, 2018 11:54 pm
por excelflex
Coloca a planilha aí pra gente tentar ajudar...

Re: Problema com(ByVal Cancel As MSForms.ReturnBoolean)

Enviado: Sáb Set 15, 2018 12:02 am
por kikoehu
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.

Re: Problema com(ByVal Cancel As MSForms.ReturnBoolean)

Enviado: Sáb Set 15, 2018 8:14 am
por Reinaldo
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

Re: Problema com(ByVal Cancel As MSForms.ReturnBoolean)

Enviado: Sáb Set 15, 2018 4:17 pm
por kikoehu
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!