** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Visual Basic Clásico (VB3...VB6)
  Mensajes nuevos Mensajes nuevos RSS - Dar Formato a un textbox
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoDar Formato a un textbox

 Responder Responder
Autor
Mensaje
ramonvar Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 18/Abril/2016
Localización: Paraguay
Estado: Sin conexión
Puntos: 1
Enlace directo a este mensaje Tema: Dar Formato a un textbox
    Enviado: 19/Abril/2016 a las 15:15
Hola a todos..me podrían ayudar con una macro para darle formato a un textbox en la cual quiero ingresar números de esta forma ej. 001-002-00046579 y que esto sea arrojado en una celda activa..
mil gracias
Desde ya mil Gracias
Abrazo RAVL
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 4949
Enlace directo a este mensaje Enviado: 16/Septiembre/2017 a las 21:03

Normalmente no suelo entrar en V.B clásico.  Supongo que la consulta estaba dirigida a Excel y por error la puso aquí (procuraré frecuentar las visitas para casos similares).


Editado: Por lo que leo, son 'unos cuantos' los que confunde VB con VBA. Shocked



'Ignorando' el tiempo transcurrido (creo que), con pequeños cambios puede valer (a alguien) para: fechas, horas, número de cuenta (banco), etc.


Código VBA:

Private Sub TextBox1_Change()

'Evita entradas no numéricas.

  If Not IsNumeric(Right(TextBox1.Text, 1)) Then

    If Len(TextBox1.Text) < 2 Then

'Si has borrado el contenido o no es numérico.

      TextBox1.Text = ""

    Else

'Si el último caracter es (p.e.) una letra.

      TextBox1.Text = Left(TextBox1.Text, Len(TextBox1.Text) - 1)

    End If

  End If

 

'Control del texto escrito.

  Select Case Len(TextBox1.Text)

'Separador 1º.

    Case 4

      If Mid(4, 1) <> "-" Then

        TextBox1.Text = Left(TextBox1.Text, 3) & "-" & Right(TextBox1.Text, 1)

      End If

'Separador 2º.

    Case 8

      If Mid(8, 1) <> "-" Then

        TextBox1.Text = Left(TextBox1.Text, 7) & "-" & Right(TextBox1.Text, 1)

      End If

'Contenido completado.

    Case 16

'Se ha completado el texto.

      ActiveCell.Value = TextBox1.Text

      ActiveCell.Offset(1).Select

      TextBox1.Text = ""

  End Select

End Sub ' TextBox1_Change




Editado por AnSanVal - 16/Septiembre/2017 a las 21:15
Pregunta lo que no sabes, recuérdalo para cuando te pregunten y ofrece tu ayuda (reconforta).

Mi sitio_web con ejemplos Excel.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable