TextBox1.SetFocus - no me funciona

23/01/2009 - 22:55 por GRIEGO59 | Informe spam
Hola!
Tengo un formulario "InventarioII" con un Textbox1 y un Textbox2.
La idea es ir pasando un lector de código de barra por los diferentes
productos en existencia física y que se remarquen en color amarillo los
mismos productos en el listado de inventario que tengo en una hoja de Excel.

El lector de código de barras escribe los códigos de los productos en Textbox1
y luego se resalta en color amarillo la línea correspondiente, pero yo
quiero que una vez que el lector capta el codigo, el cursor se posicione
automáticamente en Textbox1, pero en lugar de eso, el cursor se queda en
Textbox2. estoy usando el código TextBox1.SetFocus pero no me funciona. Yo se
que estoy haciendo algunas cosas mal, pero no sé que es:

En m1 tengo la siguiente fórmula
=SI(L1<>0;BUSCARV($L1;InventarioII!$A:$I;9;0);1)

En la cada celda de la columna I tengo esta fórmula =fila()

Y el código del formulario es el siguiente:

Private Sub TextBox1_AfterUpdate()
Sheets("InventarioII").[L1] = TextBox1.Value
If Evaluate("iserror(m1)") Then MsgBox "El código de la blusa no existe!": _
TextBox1.SetFocus: Exit Sub

ultF1 = Sheets("InventarioII").[m1].Value
Sheets("InventarioII").Select
Range(Cells(ultF1, 1), Cells(ultF1, 9)).Select
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
TextBox1 = Empty
TextBox1.SetFocus
End Sub

Que estoy haciendo mal? Alquien puede ayudarme?

Darío.

Preguntas similare

Leer las respuestas

#6 GRIEGO59
26/01/2009 - 13:31 | Informe spam
Perdón Hector!

El escaneo es continuo siempre que el escaneo sea exitoso y se remarque
exitosamente en amarillo la línea que corresponde a la blusa escaneada. Pero
si m1 es error, sale el aviso de advertencia, para que el operador aparte la
blusa, presione aceptar, y continua el escaneo continuo sin presionar enter.

El código provisional hasta que solucione lo de la continuidad de escaneo
sin presionar enter en Textbox2 es:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Sheets("InventarioII").[L1] = TextBox2.Value
If [iserror(m1)] Then MsgBox "El codigo de la blusa no existe!": _
Cancel = True: Exit Sub
ultF1 = Sheets("InventarioII").[m1].Value
Sheets("InventarioII").Select
Range(Cells(ultF1, 1), Cells(ultF1, 9)).Select
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End Sub
Respuesta Responder a este mensaje
#7 Héctor Miguel
26/01/2009 - 18:41 | Informe spam
hola, Darío !

(de momento...) "me declaro perdido" :))
ya no tengo claro si el lector de codigos deposita en textbox1 y/o en textbox2 -?-
ni el porque funciona la instruccion en el textbox2 pero no en el textbox1 -?-

(ya comentaras que mas ocurre con ese formulario y/o que otros controles tiene y su secuencia de eventos)

saludos,
hector.

__ OP __
El escaneo es continuo siempre que el escaneo sea exitoso y se remarque exitosamente en amarillo
la linea que corresponde a la blusa escaneada. Pero si m1 es error, sale el aviso de advertencia
para que el operador aparte la blusa, presione aceptar, y continua el escaneo continuo sin presionar enter.

El codigo provisional hasta que solucione lo de la continuidad de escaneo sin presionar enter en Textbox2 es:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Sheets("InventarioII").[L1] = TextBox2.Value
If [iserror(m1)] Then MsgBox "El codigo de la blusa no existe!": _
Cancel = True: Exit Sub
ultF1 = Sheets("InventarioII").[m1].Value
Sheets("InventarioII").Select
Range(Cells(ultF1, 1), Cells(ultF1, 9)).Select
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida