Visual Basic - extraccion de unos datos

Life is soft - evento anual de software empresarial
 
Vista:

extraccion de unos datos

Publicado por alejandrav (6 intervenciones) el 10/09/2008 21:31:40
hola les escribo para haber si es que alguien me puede ajugar pliss miren tengo el siguiente problema tengo que estraer numero que estan a la misma altura en un campo de base de datos o en una planilla excel pero con diferente lago lo unico en comun que tiene es que cuando termina el numero siempre hay un guion bajo si alguien sabe como puede estraer los numeros que estan antes del guion bajo porfa ajudeme lo necesito urgente .
de ante mano muchas gracias alejandra
ejemplo asi esta
171325697456_basurasdafdas
156410203215_basura2625+95
1154641_16514564561561
521544445_basura

debe quedar asi

171325697456
156410203215
1154641
521544445
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

RE:extraccion de unos datos

Publicado por pacopaz (173 intervenciones) el 10/09/2008 22:03:31
Con el método split sería suficiente. Algo así:

Dim arr as Variant

arr = Split([Texto], "_", 2)
arr(0) 'Aqui está lo que ocupas

donde
[Texto] es el texto que obtienes y que quieres separar.

Lo que hace el método es tomar el texto y separarlo en un arreglo variable cada vez que encuentre el delimitador, que en este caso es el guión bajo ("_"). Para tu caso, solo obtengo los dos primeros valores divididos (que se define por el 2 que pongo como último parámetro).
Así, lo que necesitas es el primer elemento del arreglo, en este caso, el elemento 0 (arr(0)) y eso lo puedes ya a signar o imprimir o lo que gustes.

Espero que te sirva.

Saludos.
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

RE:extraccion de unos datos

Publicado por marchand (59 intervenciones) el 10/09/2008 23:20:30
¿Y porqué tienes que crear un array (con la memoria que ocupa) y no lo haces a través de una sola línea de código?

Texto = Left(ElDato, InStr(1, ElDato, "_") - 1)

Por cierto, el tercer parámetro de la función Split sobra (no es necesario)
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