¿Cómo puedo mantener el foco en un cuadro de texto después de presionar Intro en un formulario de VBA?Mantener el foco en el cuadro de texto después de presionar enter
Este código agrega el texto a un Listbox y quiero mantener el foco en el cuadro de texto para estar listo para recibir otro elemento.
Cuando hago clic en el botón Agregar, agrega el texto al Listbox y devuelve el foco al cuadro de texto, cuando presiono enter no lo hace, incluso si usa el mismo código. ¿Cualquier sugerencia?
Este es mi código para el cuadro de texto:
Private Sub TxtOtherAsset_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
CmdAddOtherAsset_Click
End If
End Sub
y este es el código para mi botón:
Private Sub CmdAddOtherAsset_Click()
If TxtOtherAsset.Text <> "" Then
ListAddedAssets.AddItem TxtOtherAsset.Text
TxtOtherAsset.Text = ""
End If
TxtOtherAsset.SetFocus
End Sub
He intentado varias maneras, pero yo no soy capaz de volver el foco al cuadro de texto. Después de presionar enter, el foco pasa al siguiente en TabIndex.
Esto funcionó como un amuleto. Fue extremadamente fácil hacer este cambio. No probé la otra respuesta porque esta parecía mucho más simple. Y funcionó. ¡Gracias! – rubenploneda
** 'KeyCode = 0' - esta línea es increíble! ** 1-2 horas Estaba buscando en Google, probando soluciones (incluso desesperadas, relacionadas con .NET o VB6), probando otros eventos, ya que perdí la esperanza en' KeyDown' ... ¡No funcionó hasta que encontré esta publicación de oro! – ZygD