Tengo problemas con el setfocus de un textbox (vb-excel)
Estoy tratando de hacer un pequeño trabajo para poder realizar ventas en un kiosko.
Por ahora el código que tengo escrito funciona de 10 usando un commandbutton..
CÓDIGO:
Private Sub CommandButton1_Click()
ListBox1.ListIndex = 0
Sheets("tick01").Activate
On Error Resume Next
conta = 0
For x = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(x) = True Then
conta = conta + 1
End If
Next x
If conta = 0 Then
Exit Sub
End If
Set a = Sheets("tick01")
filaedit = a.Range("B" & Rows.Count).End(xlUp).Row + 1
fila = Me.ListBox1.ListIndex
a.Cells(filaedit, "b") = ListBox1.List(fila, 0)
a.Cells(filaedit, "c") = ListBox1.List(fila, 1)
ListBox2.RowSource = ""
ListBox2.RowSource = ("B6:C27" & Cells(Rows.Count, 1).End(xlUp).Row)
TextBox1.Text = Empty
End Sub
Cargo el código de barras de algún articulo en un TextBox (TExtBox1) y presiono el commandbutton con el código y todo va de 10 cero problemas, carga el articulo y puedo ir agregando de uno en uno pero siempre presionando el botón de comando..
Bien es un poco incomodo tener que hacer ese proceso cada que quiero sumar otro articulo a la venta escaneando otro código de barras, por ello decidí obviar el botón de comando y modifique el código para que al salir del TextBox1 corra el código anterior..
NUEVO CODIGO:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
ListBox1.ListIndex = 0
Sheets("tick01").Activate
On Error Resume Next
conta = 0
For x = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(x) = True Then
conta = conta + 1
End If
Next x
If conta = 0 Then
Exit Sub
End If
Set a = Sheets("tick01")
filaedit = a.Range("B" & Rows.Count).End(xlUp).Row + 1
fila = Me.ListBox1.ListIndex
a.Cells(filaedit, "b") = ListBox1.List(fila, 0)
a.Cells(filaedit, "c") = ListBox1.List(fila, 1)
ListBox2.RowSource = ""
ListBox2.RowSource = ("B6:C27" & Cells(Rows.Count, 1).End(xlUp).Row)
TextBox1.Text = Empty
TextBox1.setfocus
End Sub
El problema aqui es que no puedo mantener el setfocus en el textbox1.. ![]()
Necesito que alguien corrija esto para que se pueda cargar el código de barras y al final cuando el escáner termine de mandar los números+enter el cursor se mantenga en el textbox1 a la espera de otro código de barras
Por las dudas adjunto el archivo en el que estoy trabajando.