Notifications
Clear all

Userform "subir" valores no textbox

5 Posts
2 Usuários
0 Reactions
773 Visualizações
(@apolonio)
Posts: 11
Active Member
Topic starter
 

Pessoal, boa tarde.

Meu userform inicia com esse tamanho:

Você tem a opção de CRIAR ou de EDITAR. Ao criar/editar, meu userform altera seu tamanho.
Então ele fica desse tamanho aqui:

Eu uso a estrutura para aplicar esta alteração:

    With fmrCriarRotinas
        .Height = "540"
        .Hide
        .Show
    End With

Faço esse "hide" e "show" para que ele possa ser centralizado.

OCORRÊNCIA: Ao clicar em editar, ele vai "subir" os valores para os textbox (isso ja está funcionando), porem, se eu uso esse ".hide" e depois o ".show" os valores nao sobe. Utilizando um ponto de interrupção e uma msgbox ao inves de "subir os valores para editar", ele "trava" no ".show" e quando clico para fechar o userform (no "x" mesmo) ele aparece a msgbox.
Se eu não utilizar o code acima, a msgbox aparece direto, sem precisar clicar no "x".

Tem alguma outra forma de atualizar o userform para que ele possa centralizar? Ou alguma outra forma de fazer isso que estou querendo?

 
Postado : 03/06/2018 2:34 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Apolonio,

Boa tarde!

Para centralizar o userform, só atribuir a propriedade StartUpPosition do userform para 2 - CenterScreen. Isso pode ser feito ainda em tempo de design ou em tempo de execução diretamente no código.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 03/06/2018 2:44 pm
(@apolonio)
Posts: 11
Active Member
Topic starter
 

Wagner, boa tarde.

A propriedade do userform ja esta para ser inicializado como centralizado.
O problema é que quando é clicado em editar, o userform ja esta aberto, então eu criei a rotina de fechar ".hide" e depois abrir ".show".

 
Postado : 03/06/2018 2:57 pm
(@apolonio)
Posts: 11
Active Member
Topic starter
 

Pessoal, eu ocultei o userform, depois chamei o procedimento e por fim voltei a mostrar o userform.

   fmrCriarRotinas.Height = "540" 'alterei o tamanho
            fmrCriarRotinas.Hide 'ocultei
            SUBIR_USERFORM 'chamei meu procedimento (ou a msgbox como citei)
            fmrCriarRotinas.Show 'mostrei o userform

Desculpa pelo transtorno, mas perdi umas horas tentanto isso.
Obrigado

 
Postado : 03/06/2018 3:06 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

A mesma propriedade que está setada em tempo de design pode ser atribuída dentro do código.

Também existe outra propriedade que apenas redesenha o userform na tela: Repaint.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 03/06/2018 3:16 pm