Visual Basic para Aplicaciones - Como enviar dato según el cuadro de texto seleccionado

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Como enviar dato según el cuadro de texto seleccionado

Publicado por ILIANA (5 intervenciones) el 06/03/2017 11:44:53
Hola:
Necesito que me ayudéis con lo siguiente:
Tengo un botón de comando y dos textbox, quiero que si está seleccionado el textbox1 al pulsar el botón de comando escriba 1 en textbox1 , pero que si lo que tengo seleccionado es el textbox2, el 1 lo escriba en el textbox2. Gracias de antemano. Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Como enviar dato según el cuadro de texto seleccionado

Publicado por Antoni Masana (498 intervenciones) el 06/03/2017 12:22:01
Lo que pides a si a priori es imposible porque para pulsar el botón tiene que seleccionarlo y deja de estar seleccionado cualquier otro objeto.

Pero como lo imposible no siempre es imposible si lo planteamos de otra forma, vamos a ver de esta que tal.

Tengo un botón de comando y dos textbox, quiero que escriba 1 en el último textbox que estuviese seleccionado.

Parece lo mismo y más corto pero no lo es.

Este es el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim SW As Byte
 
Private Sub Command1_Click()
    If SW = 1 Then Text1.Text = "1": Text2.Text = " "
    If SW = 2 Then Text1.Text = " ": Text2.Text = "1"
End Sub
 
Private Sub Text1_GotFocus()
    SW = 1
End Sub
 
Private Sub Text1_LostFocus()
    SW = 1
End Sub
 
Private Sub Text2_GotFocus()
    SW = 2
End Sub
 
Private Sub Text2_LostFocus()
    SW = 2
End Sub

Puedes usar el GotFocus o LostFocus. El primero lo ejecuta al recibir el enfoque y el segundo al perderlo.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como enviar dato según el cuadro de texto seleccionado

Publicado por ILIANA (5 intervenciones) el 06/03/2017 12:36:15
Hola, gracias por tan pronta respuesta, he copiado el código tal cual, le he cambiado los nombres del botón y los cuadros de texto pero no me hace nada, perdonad mi ignorancia, pero recién me introduzco en VBA, gracias, saludos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim SW As Byte
 Private Sub CCommandButton1_Click()
    If SW = 1 Then TextBox1.Text = "1": TextBox2.Text = " "
    If SW = 2 Then TextBox1.Text = " ": TextBox2.Text = "1"
End Sub
 Private Sub TextBox1_GotFocus()
    SW = 1
End Sub
 Private Sub TextBox1_LostFocus()
    SW = 1
End Sub
 Private Sub TextBox2_GotFocus()
    SW = 2
End Sub
 Private Sub TextBox2_LostFocus()
    SW = 2
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como enviar dato según el cuadro de texto seleccionado

Publicado por JuanC (565 intervenciones) el 06/03/2017 15:39:58
prueba con algo así...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Option Explicit
 
Private flg As Byte
 
Private Sub CommandButton1_Click()
If flg = 1 Then
   TextBox1.Text = 1
ElseIf flg = 2 Then
       TextBox2.Text = 2
End If
 
End Sub
 
Private Sub TextBox1_Enter()
flg = 1
End Sub
 
Private Sub TextBox2_Enter()
flg = 2
End Sub
 
Private Sub UserForm_Initialize()
flg = 1
TextBox1.SetFocus
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como enviar dato según el cuadro de texto seleccionado

Publicado por ILIANA (5 intervenciones) el 06/03/2017 18:38:59
Hola, muchas gracias!!! he probado este código, pero me pone 1 en TextBox1 y 2 en TextBox2, por lo que he probado y al poner
TextBox2.Text = 1, entonces si pone 1 en cualquiera de los dos TextBox según el seleccionado, muchas gracias a tos dos. saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar