Usar objetos (textbox) de un userform en un módulo

Quiero colocar unas instrucciones dentro de un módulo. Tales instrucciones utilizan un textbox. Lo que quiero es que se borre el contenido del textobx y que además el setfocus quede en ese textbox. Pero ni me borra el contenido del textbox y cuando llega a la línea del textbox1. Setfocus me dice "error 424 en tiempo de ejecución".

El código que tengo es más o menos el siguiente:

En una hoja:

Sub ventas()
    UserForm1.Show
End Sub

Private Sub CommandButton1_Click()
  'instrucciones
      Call borrar

End Sub

Luego dentro de un módulo tengo la función "borrar" así:

Sub borrar()
   TextBox1 = "" 'Aquí no me borra el contenido del textbox.
   TextBox1. SetFocus 'Aquí se produce el error 424 en tiempo de ejecución.
End Sub

Si las instrucciones que tengo dentro del módulo las coloco dentro del botón (private sub commandbutton1_click), me funcionan bien. Pero si las coloco dentro del módulo, entonces no necesito repetir las mismas instrucciones que requiero en otra parte del código.

1 respuesta

Respuesta
1

H o l a:

Puedes hacer lo siguiente, coloca el procedimiento "borrar" dentro del código del formulario:


La otra opción, si quieres dejar el código en el módulo, como estás fuera del userform, le tienes que indicar que el textbox1 pertenece al userform1, de la siguiente forma:

Sub borrar()
   UserForm1.TextBox1 = ""
   UserForm1.TextBox1.SetFocus
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas