Visual Basic para Aplicaciones - limpiar textbox

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de Jorge leon
Val: 3
Ha aumentado su posición en 28 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

limpiar textbox

Publicado por Jorge leon (27 intervenciones) el 30/09/2014 21:30:49
Hola amigos de LWP, tengo un userform con varios textbox para registrar información a una hoja de calculo excel 2010 y me funciona bien… el problema que tengo, es que al querer limpiar los textbox para otro registro no me lo permite ya que estoy utilizando el siguiente codigo….porque requiero validar la información
En textbox1….
Private Sub TextBox1_Change()
If Not IsNumeric(TextBox1.Text) And TextBox1.Text <> "" Then
Beep
MsgBox "Se debe ingresar solo números"
TextBox1.Text = ""
TextBox1.SetFocus
End If
End Sub

Y en textbox2….
Private Sub TextBox2_Change()
TextBox2.Text = UCase(TextBox2.Text)
If IsNumeric(TextBox2) Then
Beep
MsgBox "Se debe ingresar solo Texto"
TextBox2.Text = ""
TextBox2.SetFocus
End If
If TextBox2.Text = " " Then
Beep
MsgBox "Se debe ingresar solo Texto"
TextBox2.Text = ""
TextBox2.SetFocus
End If
End Sub
De antemano gracias por su apoyo……….. su amigo Jorge
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JoaoM
Val: 55
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

limpiar textbox

Publicado por JoaoM (58 intervenciones) el 30/09/2014 23:57:14
Al final de la rutina, antes del End Sub coloca esto

1
2
3
4
5
6
7
 'si los nombres de los Textbox se modificaron, como es costumbre
Dim Control As Object
'Aqui la rutina para Ejecucion
    For Each Control In Controls 'si es desde un modulo; UserForm1.Controls UserForm1 es el nombre de tu formulario
        If TypeName(Control) = "TextBox" Then Control.Value = ""
    Next
MsgBox ("Controles limpios para nuevo uso"), vbInformation, "Limpiesa"

Al final para que al terminar la ejecucion de la macro, te limpia todos los TextBox aunque su nombre haya sido cambiado, es decir no sean TextBox1 TextBo2 ect

Tambien para que si su nombre de todos los TextBox es TextBox1, TextBox2 ect, este te servirá
1
2
3
4
5
6
7
8
 'TODOS los existentes
'falta declarar la i
For i = 1 To Me.Controls.Count
    If TypeName(Me.Controls(i - 1)) = "TextBox" Then
        Me.Controls(i - 1) = ""
    End If
    MsgBox ("TextBox limpios para nuevo uso"), vbInformation, "Limpiesa"
Next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JoaoM
Val: 55
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

limpiar textbox

Publicado por JoaoM (58 intervenciones) el 01/10/2014 04:09:02
Si es la respuesta, contesta gracias, si no solo dilo porque no y que es lo que pretendes precisamente

Uando la macro que tienes, no te deja que escribas CUALQUIER letra que no sea número.

Aunque le metas numeros y entremedio de los números quieras meterle alguna letra, NO te lo permite y limpia el TextBox.
Limpiar los textbox, ¿son TextBox1 y 2? ya te los limpia, al escribir cualquier letra o, no inicio de entender lo que pretendes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jorge leon
Val: 3
Ha aumentado su posición en 28 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

limpiar textbox

Publicado por Jorge leon (27 intervenciones) el 02/10/2014 05:52:42
gracias.........................................
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar