Visual Basic para Aplicaciones - quitar números, "/" y "." del principio de una cadeta

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 5 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

quitar números, "/" y "." del principio de una cadeta

Publicado por Fernando (3 intervenciones) el 02/12/2019 14:17:07
Hola a todos, tengo una Excel que tiene muchos datos de texto, al principio de los datos hay una numeración

1.2 Y luego texto.
1.3 Luego hay otro texto.
1.4/5 Otro texto en donde al final hay números 888.

Querría hacer un Sub que me permitiera quitar los números, los "." y los "/" del principio y sólo del principio quedando así:

Y luego texto.
Luego hay otro texto.
Otro texto en donde al final hay números 888.

No sabría conseguir que fuera sólo del principio.

¿alguien me podría ayudar?

Gracias
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 gilman
Val: 138
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

quitar números, "/" y "." del principio de una cadeta

Publicado por gilman (47 intervenciones) el 03/12/2019 09:59:36
Prueba:
1
2
3
4
5
6
7
Private Function Eliminar(ByVal Cadena As String) As String
    Const chars = "1234567890./ "
    While InStr(1, chars, Left$(Cadena, 1)) > 0
        Cadena = Mid(Cadena, 2)
    Wend
    Eliminar = Cadena
End Function
Tambien elimina los espacios iniciales, si no quieres que los elimine, quitalo de la constante chars
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 5 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

quitar números, "/" y "." del principio de una cadeta

Publicado por Fernando (3 intervenciones) el 03/12/2019 13:34:11
Genial,
¡PERO CÓMO LO HACÉIS TAN FÁCIL!
MUCHAS GRACIAS.

Lo hacéis tan simple que mis pocos conocimientos de VBA, no me permiten entenderlo y... ¡quiero entenderlo!

1
2
3
4
5
6
7
8
9
10
11
12
13
'declaras una función privada llamada eliminar que es tipo texto que tiene también un argumento tipo texto
Private Function Eliminar(ByVal Cadena As String) As String
 
    'Esto no lo entiendo busco y sólo me sale Const char (sin la s)
    Const chars = "1234567890./ "
 
    'Entiendo que mientras pase que busque en la cadena desde la posición 1 hasta... Left$ (se lo que es Left, pero no Left$)
    While InStr(1, chars, Left$(Cadena, 1)) > 0
        Cadena = Mid(Cadena, 2)
    Wend
 
    Eliminar = Cadena
End Function

De nuevo, funciona perfectamente disculpa que te pregunte... así aprendo y pregunto un poquito menos. Si vieras los pedazo códigos que hago que sé que se podrían reducir pero me pongo muy contento de conseguirlo... poco a poco.

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
Imágen de perfil de gilman
Val: 138
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

quitar números, "/" y "." del principio de una cadeta

Publicado por gilman (47 intervenciones) el 04/12/2019 08:59:57
Left$ es lo mismo que Left, solo que si argumento es de tipo String es más rápido, lo mismo podía haber hecho con Mid y usar Mid$
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 5 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

quitar números, "/" y "." del principio de una cadeta

Publicado por Fernando (3 intervenciones) el 07/12/2019 17:45:09
muchas 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