Quantcast
Channel: ajuda com textbox interligadas
Viewing all articles
Browse latest Browse all 4

ajuda com textbox interligadas

$
0
0

Bom dia Pessoal....

Estou com um problema em um form no vba do excel. É um form simples, possui 1 combobox(que ja populei) que puxa os dados e referencias da planilha, um texbox que indica um valor de unidade(sem associação nenhuma) e dois textboxes que são interligados.

Era para funcionar assim o textbox2 é o volume, o textbox3 é a massa. O usuário pode escolher se deseja entrar com o valor da massa ou do volume. E se ja tiver digitado algum valor no outro textbox, este seria ignorado(apagado)

Minha idéia era que ao ir digitando o volume no textbox2, o textbox3(massa) apagaria o valor inserido no textbox3 e calcularia a massa automaticamente pela formula "volume*dens=massa" inserindo esse valor no texbox3 e vice versa se o usuario digitasse a massa no textbox 3.

tentei pelo evento keypress dos textbox porém o valor sempre atrasa em um digito, Ex.: se densidade =1 volume é igula a massa, quando digito 1 no texbox2 não aparece nada no textbox3 porém ao digitar "2", o digito seguinte, aparece apenas o primeiro digito no textbox 3

valorr no textbox2: "12" valor que aparece no textbox3: "1".

Consegui resolver isso em partes utilizando o evento change, porém quando altera o valor do textbox2 ele altera o valor do textbox3 na hora e como é para um depender do outro ignorando o valor digitado no outro campo (massa ou volume) criou um loop, pois sempre que textbox3 é modificado pelo evento change do textbox2 ele altera seu valor e dispara o change do textbox3 que por sua vez zera e modifica o valor do textbox2 e assim por diante....

Tentei Utilizar o metodo gotfocus mas não consegui nem fazer um simples comando de msgbox aparecer:

Private Sub textbox2_GotFocus()
MsgBox "Focus funcionou!!"
End Sub

Pensei em fazer algu do tipo: Se o foco estiver no textbox2 ele apenas auto preenche o textbox3 e se o foco estiver em textbox3 ele apenas preenche o textbox2. utilando o evento change mesmo chamando uma sub que testaria o foco ou o index por um IF e faria a modoficação apenas no textbox desejado, sem loops então, mas eu precisaria saber para isso qual o textbox que esta recebendo os dados... eis minha dificuldade

Gostaria de alguma ideia de voces pois estou bem perdido neste ponto.

Desde já agradeço,

Abraços



Viewing all articles
Browse latest Browse all 4

Latest Images

Trending Articles





Latest Images