Jump to content

Borrar textbox al llamar a un userform


Recommended Posts

Quiero que cada vez que llame a un Userform se borre la información de los textbox anteriores. Encontré una rutina que puse en userform.initialize pero no los borra todos. Los va elimiando de a uno. Es un ejemplo, el userform original tiene 15 textbox y otros cuantos combobox.

Esto seria mas rapido

Dim Ctrl As Control

For Each Ctrl In "nombre de tu userform".Controls

If TypeOf Ctrl Is MSForms.TextBox Then

Ctrl = Empty

End If

Next Ctrl

- - - - - Mensaje combinado - - - - -

Adaptado a tu formulario quedaria asi

Private Sub CommandButton1_Click()

'aqui va tu macro ya que despues de esto das la orden de borrar los campos textbox

Dim Ctrl As Control

For Each Ctrl In UserForm1.Controls

If TypeOf Ctrl Is MSForms.TextBox Then

Ctrl = Empty

End If

Next Ctrl

MsgBox "SI TE FIJAS LOS TXTBX HAS SIDO BORRADOS", vbOKOnly, ""

UserForm1.Hide

'Range("a1").Select

End Sub

Link to comment
Share on other sites

Utiliza Unload en lugar de Hide, y así se ejecutara siempre el evento Initialize.

Hide no descarga el formulario, solo lo oculta, con lo que al volverlo a mostrar, aparece tal estaba en el momento de ejecutar Hide.

Link to comment
Share on other sites

Como seria para cantidad de TextBox (21) en una hoja, NO EN FORMULARIO.

Tengo entendido que en algo cambia, que no son tomados como controles y si otro nombre

¿Como seria con los TextBox en una hoja?

Private Sub CommandButton1_Click()
'xxxxxxxxxxxx
'aqui va mi macro
'xxxxxxxxxxxx
Dim Ctrl As Control
For Each Ctrl In UserForm1.Controls
If TypeOf Ctrl Is MSForms.TextBox Then
Ctrl = Empty
End If
Next Ctrl
MsgBox "TextBox limpios para nuevo uso", vbOKOnly, vbInformation, "Limpiesa"
Unload Oficio
End Sub[/CODE]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy