Como mantener el focus fijo sin que se pierda en un textbox

Al iniciar userform inicia el setfocus en el textbox que quiero pero al trabajar se pierde yo siempre quiero que permanezca el setfocus en un textbox determinado

1 respuesta

Respuesta

Port medio de la presente dese comunicar que de acuerdo a su inquietud tengo entendido que el Setfocus solo es utilizable cuando una Userform se activa, es decir al activarse el formulario el cursos aparece en el texto, en el que le hemos configurado el setfocus ya si usted lo que desea es que el cursor se sitúe en el otro texto tocaría manejar orden de tabulación para que el usuario al dar clic en la tecla tab se posicione el cursos en el siguiente texto.

Éxitos!

Att. H.Camilo

claro esta configurado para que inicie en un textbox y mediante un botón guardo los datos luego de guardar se limpia el textbox e vuelve el setfocus pero al volver hacer la misma operación se pierde...

mi userform

aquí mi código

Private Sub botayuda_Click()
Me.Hide
UserForm3.Show
End Sub
Private Sub CommandButton1_Click()
Sheets("Union").Activate
Range("a2").Activate
Selection.End(xlDown).Activate
ActiveCell.Offset(0, 0).Activate
ActiveCell.Offset.Value = ""
ActiveCell.Offset(0, 1).Value = ""
ActiveCell.Offset(0, 2).Value = ""
ActiveCell.Offset(0, 3).Value = ""
ActiveCell.Offset(0, 4).Value = ""
If cbdias = "LUNES" Then
ActiveCell.Offset(0, 5).Value = ""
labcantidad.Caption = Range("F1820").Text
ElseIf cbdias = "MARTES" Then
ActiveCell.Offset(0, 6).Value = ""
labcantidad.Caption = Range("G1820").Text
ElseIf cbdias = "MIERCOLES" Then
ActiveCell.Offset(0, 7).Value = ""
labcantidad.Caption = Range("h1820").Text
ElseIf cbdias = "JUEVES" Then
ActiveCell.Offset(0, 8).Value = ""
labcantidad.Caption = Range("I1820").Text
ElseIf cbdias = "VIERNES" Then
ActiveCell.Offset(0, 9).Value = ""
labcantidad.Caption = Range("J1820").Text
ElseIf cbdias = "SABADO" Then
ActiveCell.Offset(0, 10).Value = ""
labcantidad.Caption = Range("K1820").Text
ElseIf cbdias = "DOMINGO" Then
ActiveCell.Offset(0, 11).Value = Val(txtprecio)
labcantidad.Caption = Range("L1820").Text
End If
txtcodigo.Value = ""
txtproducto.Value = ""
ActiveWorkbook.Save
'ActiveWorkbook.SaveCopyAs "F:\MiCopia.Xlsm"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.Value = ""
txtplanilla.SetFocus
End If
End Sub

Private Sub UserForm_Initialize()
'Application.WindowState = xlMaximized
'Me.Width = Application.Width
'Me.Height = Application.Height
Worksheets("Union").Activate
fecha.Caption = Format(Now(), "DDDDDD")
txtplanilla.Visible = False
cbdias.AddItem "LUNES"
cbdias.AddItem "MARTES"
cbdias.AddItem "MIERCOLES"
cbdias.AddItem "JUEVES"
cbdias.AddItem "VIERNES"
cbdias.AddItem "SABADO"
cbdias.AddItem "DOMINGO"
If CheckBox1 = False Then
txtcodigo.SetFocus
End If
labproducto.Visible = True
End Sub
Private Sub cbdias_Click()
labdia.Visible = False
If CheckBox1 = True Then
txtplanilla.SetFocus
ElseIf CheckBox1 = False Then
txtcodigo.SetFocus
End If
End Sub

Private Sub botoningresar_Enter()
If CheckBox1 = False Then
Sheets("Union").Activate
Range("a2").Activate
Selection.End(xlDown).Activate
ActiveCell.Offset(1, 0).Activate
ActiveCell.Offset.Value = txtcodigo
ActiveCell.Offset(0, 1).Value = txtplanilla
ActiveCell.Offset(0, 2).Value = Format(Now(), "hh:mm:ss")
ActiveCell.Offset(0, 3).Value = Val(txtproducto)
ActiveCell.Offset(0, 4).Value = txtnombre
If cbdias = "LUNES" Then
ActiveCell.Offset(0, 5).Value = Val(txtprecio)
labcantidad.Caption = Range("F1820").Text
ElseIf cbdias = "MARTES" Then
ActiveCell.Offset(0, 6).Value = Val(txtprecio)
labcantidad.Caption = Range("G1820").Text
ElseIf cbdias = "MIERCOLES" Then
ActiveCell.Offset(0, 7).Value = Val(txtprecio)
labcantidad.Caption = Range("h1820").Text
ElseIf cbdias = "JUEVES" Then
ActiveCell.Offset(0, 8).Value = Val(txtprecio)
labcantidad.Caption = Range("I1820").Text
ElseIf cbdias = "VIERNES" Then
ActiveCell.Offset(0, 9).Value = Val(txtprecio)
labcantidad.Caption = Range("J1820").Text
ElseIf cbdias = "SABADO" Then
ActiveCell.Offset(0, 10).Value = Val(txtprecio)
labcantidad.Caption = Range("K1820").Text
ElseIf cbdias = "DOMINGO" Then
ActiveCell.Offset(0, 11).Value = Val(txtprecio)
labcantidad.Caption = Range("L1820").Text
End If
ElseIf CheckBox1 = True Then
Sheets("Union").Activate
Range("a2").Activate
Selection.End(xlDown).Activate
ActiveCell.Offset(1, 0).Activate
ActiveCell.Offset.Value = "SIN FOTOCHECK"
ActiveCell.Offset(0, 1).Value = txtplanilla
ActiveCell.Offset(0, 2).Value = Format(Now(), "hh:mm:ss")
ActiveCell.Offset(0, 3).Value = Val(txtproducto)
ActiveCell.Offset(0, 4).Value = txtnombre
If cbdias = "LUNES" Then
ActiveCell.Offset(0, 5).Value = Val(txtprecio)
labcantidad.Caption = Range("F1820").Text
ElseIf cbdias = "MARTES" Then
ActiveCell.Offset(0, 6).Value = Val(txtprecio)
labcantidad.Caption = Range("G1820").Text
ElseIf cbdias = "MIERCOLES" Then
ActiveCell.Offset(0, 7).Value = Val(txtprecio)
labcantidad.Caption = Range("h1820").Text
ElseIf cbdias = "JUEVES" Then
ActiveCell.Offset(0, 8).Value = Val(txtprecio)
labcantidad.Caption = Range("I1820").Text
ElseIf cbdias = "VIERNES" Then
ActiveCell.Offset(0, 9).Value = Val(txtprecio)
labcantidad.Caption = Range("J1820").Text
ElseIf cbdias = "SABADO" Then
ActiveCell.Offset(0, 10).Value = Val(txtprecio)
labcantidad.Caption = Range("K1820").Text
ElseIf cbdias = "DOMINGO" Then
ActiveCell.Offset(0, 11).Value = Val(txtprecio)
labcantidad.Caption = Range("L1820").Text
End If
End If
txtcodigo.Value = ""
txtproducto.Value = ""
ActiveWorkbook.Save
'ActiveWorkbook.SaveCopyAs "F:\MiCopia.Xlsm"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.Value = ""
txtplanilla.SetFocus
End If
End Sub

Private Sub CheckBox1_Click()
If CheckBox1 = False Then
txtcodigo.Visible = True
txtcodigo.SetFocus
labplanilla.Visible = True
txtnombre.Visible = True
txtplanilla.Value = ""
ElseIf CheckBox1 = True Then
txtcodigo.Visible = False
labplanilla.Visible = False
txtplanilla.Visible = True
txtplanilla.SetFocus
txtnombre.Visible = True
End If
End Sub
Private Sub txtcodigo_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Worksheets("personal").Activate
Set resp = Cells.Find(What:=txtcodigo.Text, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If resp Is Nothing Then
Worksheets("personal").Activate
MsgBox ("PERSONAL NO REGISTRADO")
Cancel = True
txtcodigo.Text = ""
labnombre.Caption = ""
labplanilla.Caption = ""
txtcodigo.SetFocus
Else
resp.Activate
labnombre.Caption = ActiveCell.Offset(0, 2).Value
labplanilla.Caption = ActiveCell.Offset(0, 1).Value
txtplanilla.Text = ActiveCell.Offset(0, 1).Value
End If
Worksheets("Union").Activate
End Sub
Private Sub txtproducto_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Worksheets("Productos").Activate
Set resp = Cells.Find(What:=txtproducto.Text, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If resp Is Nothing Then
Worksheets("Productos").Activate
MsgBox ("PRODUCTO NO REGISTRADO")
txtcodigo.SetFocus
Else
resp.Activate
txtprecio.Text = ActiveCell.Offset(0, 2).Value
End If
Worksheets("Union").Activate
End Sub
Private Sub op12_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "FLAN"
txtprecio.Text = "2.00"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub opt10_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "COCA COLA 500ml"
txtprecio.Text = "1.20"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub opt11_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "GELATINA"
txtprecio.Text = "1.50"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub opt2_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "ENTRADA"
txtprecio.Text = "2.00"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub opt1_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "MENÚ OPERARIO"
txtprecio.Text = "4.00"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub opt3_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "ARROZ"
txtprecio.Text = "1.00"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub opt4_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "CEVICHE"
txtprecio.Text = "6.00"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub opt5_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "KEKE"
txtprecio.Text = "1.50"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub opt6_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "MENÚ EMPLEADO"
txtprecio.Text = "4.20"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub opt7_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "ENSALADA FRUTAS"
txtprecio.Text = "3.00"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub opt8_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "PASTEL"
txtprecio.Text = "2.00"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub opt9_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "INCA KOLA 500ml"
txtprecio.Text = "1.20"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub OptionButton2_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "AGUA MINERIAL 500ml"
txtprecio.Text = "1.2O"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub OptionButton3_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "GASEOSA"
txtprecio.Text = "1.50"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub OptionButton4_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "Agua Mineral 2Lt"
txtprecio.Text = "3.00"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub OptionButton10_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "HUEVO"
txtprecio.Text = "0.50"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub OptionButton6_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "CARAMELO"
txtprecio.Text = "0.50"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub OptionButton7_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "CARAMELO"
txtprecio.Text = "1.00"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub OptionButton8_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "CHICLETS"
txtprecio.Text = "0.50"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub OptionButton5_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "GALLETA"
txtprecio.Text = "0.70"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub OptionButton9_Click()
txtproducto.Visible = False
labproducto.Visible = False
txtnombre.Visible = True
txtnombre.Text = "CHICLETS"
txtprecio.Text = "1.00"
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub optotros_Click()
txtnombre.Visible = False
labproducto.Visible = True
txtproducto.Visible = True
txtnombre.Value = ""
txtprecio.Value = ""
If CheckBox1 = False Then
txtcodigo.SetFocus
ElseIf CheckBox1 = True Then
txtplanilla.SetFocus
End If
End Sub
Private Sub botlimpiar_Click()
If CheckBox1 = True Then
txtcodigo.Value = ""
txtplanilla.Value = ""
txtproducto.Value = ""
txtprecio.Value = ""
txtnombre.Value = ""
labnombre.Caption = ""
labplanilla.Caption = ""
txtplanilla.SetFocus
ElseIf CheckBox1 = False Then
txtcodigo.Value = ""
txtplanilla.Value = ""
txtproducto.Value = ""
labnombre.Caption = ""
labplanilla.Caption = ""
txtcodigo.SetFocus
End If
End Sub
Private Sub registrar_Click()
ingresopersonal.Show
End Sub
Private Sub cmdcerrar_Click()
ActiveWorkbook.Save
ActiveWorkbook.SaveCopyAs "F:\MiCopia.Xlsm"
Application.Quit
End Sub
Private Sub Image1_Click()
Me.Hide
portada.Show
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
'MsgBox "Hacer click en CERRAR SISTEMA"
Cancel = 1
End If
End Sub

ingreso datos numericos mediante una lectora de código de barras

Que pena responderle después de tanto tiempo, pero yo le aconsejo de que intente probar con el depurador (Paso a paso con la tecla F8).

En el código del evento para activar la Userform (UserForm_Initialize) pon el código:

Txtplanilla. SetFocus

Éxitos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas