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.
 

Leer las respuestas

#1 Héctor Miguel
24/01/2009 - 04:08 | Informe spam
hola, Darío !

1) "mueve" el codigo del evento '_afterupdate' al evento '_exit' del control textbox1

2) cambia la condicionante del codigo y en vez de tratar de que "mantenga el foco", EVITA que se salga del textbox1
de:
If Evaluate("iserror(m1)") Then MsgBox "El codigo de la blusa no existe!": _
TextBox1.SetFocus: Exit Sub
a:
If [iserror(m1)] Then MsgBox "El codigo de la blusa no existe!": _
Cancel = True: Exit Sub

saludos,
hector.

__ OP __
Mostrar la cita

Preguntas similares