Problema con SetFocus en VBA Excel

Tengo esta línea de código al salir de una textbox pero yo le pido que vuelva al textbox1 pero se queda en el textbox3

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
pcosto = ActiveCell.Offset(0, 7)
pvp = ActiveCell.Offset(0, 5)
cant = TextBox2.Value
ActiveCell.Offset(0, 4) = cant
ActiveCell.Offset(0, 6) = cant * pvp
ActiveCell.Offset(0, 8) = cant * pcosto
totvent = ActiveCell.Offset(0, 6)
totcost = ActiveCell.Offset(0, 8)
margen = totvent - totcost
ActiveCell.Offset(0, 9) = margen
For i = 0 To ListBox1.ListCount - 1
tot = tot + Val(ListBox1.List(i, 4))
Next i
TextBox3 = tot
TextBox3 = Format(TextBox3, "$ #,000")
TextBox1.SetFocus
TextBox1 = ""
End Sub

1 respuesta

Respuesta
1

Esta puede ser una opción, agrega el siguiente código a tu formulario:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If TextBox1 = "" Then Cancel = True
End Sub

Lo que hace tu código es limpiar el textbox1 y luego poner el foco en el textbox1, entonces, para salir del textbox1 tienes que escribir algo, mientras el textbox1 está vacío no podrá salir, en este caso, se quedará con el foco.

Prueba y me comentas.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas