Tengo un código para abrir el Formulario que cuenta con 5 TextBox1 y un botón que es el Siguiente Sub Entrada() Load UserForm1 UserForm1.show End Sub Mi pregunta es: Cómo hago para que al abrir este formulario siempre se valla inmediatamente al TextBox1, no importando dónde se halla quedado al cerrar el formulario, de antemano gracias por su ayuda.
Tienes que ir a la propiedad TabIndex del TextBox y digitar el valor 0 (cero). Ahora, si tienes una botón que ejecuta cierta acción con los valores y necesitas que el cursor quede en al gún TextBox en especial, debes agregar la siguiente instrucción en el evento click de ese botón: "TextBox1.SetFocus", si es el TextBox1 el que quieres activar.
Este es el código de Mi Formulario: Private Sub CommandButton1_Click() Rem inserta un renglon Fila = 11 Col = 2 While Cells(Fila, Col) <> Empty Fila = Fila + 1 Wend Cells(Fila, 2) = Val(TextBox1) Cells(Fila, 3) = Val(TextBox2) Cells(Fila, 4) = Val(TextBox3) Cells(Fila, 5) = Val(TextBox4) TextBox1 = Empty TextBox2 = Empty TextBox3 = Empty TextBox4 = Empty TextBox1.SetFocus End Sub Private Sub TextBox1_Change() Range("B11").Select ActiveCell.FormulaR1C1 = TextBox1 End Sub Private Sub TextBox2_Change() Range("C11").Select ActiveCell.FormulaR1C1 = TextBox2 End Sub Private Sub TextBox3_Change() Range("D11").Select ActiveCell.FormulaR1C1 = TextBox3 End Sub Private Sub TextBox4_Change() Range("E11").Select ActiveCell.FormulaR1C1 = TextBox4 End Sub Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 27 Then UserForm2.Hide End If End Sub Private Sub TextBox2_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 27 Then UserForm2.Hide End If End Sub Private Sub TextBox3_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 27 Then UserForm2.Hide End If End Sub Private Sub TextBox4_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 27 Then UserForm2.Hide End If End Sub Private Sub CommandButton1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 27 Then UserForm2.Hide End If End Sub Como te darás cuenta le agregue al TextBox1 el SetFocus, ahora bien, el problema es que hice mi archivo en Excel 2003 y ahora al llevarme el archivo a la PC que usara este archivo, dicha maquina tiene instalada Excel 2000, el problema es que cada vez que abro el formulario tengo que darle un click con el mouse en el Textbox1, porque el cursor no me aparece o si no al darle un enter me envía al TextBox2, entonces lo que pensé es que podría haber alguna forma de que al abrir el formulario siempre me aparezca el cursor en el TextBox1, bueno espero entiendas mi problema y agradezco tu interés y pronta ayuda
Envíame el archivo a mi correo: [email protected] para analizarlo y ver cuál es la mejor solución.