problemas con cadenas

14/05/2005 - 12:42 por diegoar | Informe spam
buenas.. amigos
hoy necesitro resolver lo siguiente:
tengo un combobox cuyo texto tiene el sig formato:
"y - xxxxxx"
"yy - xxxxxxx"
"yyy - xxxxxxx"



en el combo los valores son de ese formato. Ahora bien, tengo que
lograr obtener los "yyy" antes del blanco que antecede al "-". No se
que funcion poner dentro de un ciclo, para obtener los caracteres
ubicados antes del blanco.- el problema es que la funcion rigth y mid
que me dio KL no funcionan con la biblioteca standar de vba (al menos
en mi maquina)y si o si tengo que utilizar la biblioteca estandar
porque la aplicacion correra en muchas otras maquinas distintas.

espero puedan ayudarme (como siempre)

saludos
diego

Preguntas similare

Leer las respuestas

#1 KL
14/05/2005 - 13:06 | Informe spam
Hola Diego,

Prueba este codigo:

Sub test()
Dim Texto(3) As String
Texto(0) = "y - xxxxx"
Texto(1) = "yy - xxxxx"
Texto(2) = "yyy - xxxxx"
Texto(3) = "yyyy - xxxxx"
For i = 0 To 3
MsgBox Left(Texto(i), InStr(Texto(i), " - ") - 1)
Next
End Sub

Y por cierto, ?que version de Excel usas? me parece extraño que las
funciones Mid y Right no esten disponibles en tu sistema. Creo que estan
disponibles a partir de XL97 para arriba y dudo mucho que tengas el Excel 95
(o igual me equivoco)

Saludos,
KL


"diegoar" wrote in message
news:
buenas.. amigos
hoy necesitro resolver lo siguiente:
tengo un combobox cuyo texto tiene el sig formato:
"y - xxxxxx"
"yy - xxxxxxx"
"yyy - xxxxxxx"



en el combo los valores son de ese formato. Ahora bien, tengo que
lograr obtener los "yyy" antes del blanco que antecede al "-". No se
que funcion poner dentro de un ciclo, para obtener los caracteres
ubicados antes del blanco.- el problema es que la funcion rigth y mid
que me dio KL no funcionan con la biblioteca standar de vba (al menos
en mi maquina)y si o si tengo que utilizar la biblioteca estandar
porque la aplicacion correra en muchas otras maquinas distintas.

espero puedan ayudarme (como siempre)

saludos
diego

Respuesta Responder a este mensaje
#2 KL
14/05/2005 - 13:21 | Informe spam
...mas info:

http://support.microsoft.com/kb/141287/EN-US/
http://support.microsoft.com/?kbid!3646#appliesto

Saludos,
KL

"KL" wrote in message
news:
Hola Diego,

Prueba este codigo:

Sub test()
Dim Texto(3) As String
Texto(0) = "y - xxxxx"
Texto(1) = "yy - xxxxx"
Texto(2) = "yyy - xxxxx"
Texto(3) = "yyyy - xxxxx"
For i = 0 To 3
MsgBox Left(Texto(i), InStr(Texto(i), " - ") - 1)
Next
End Sub

Y por cierto, ?que version de Excel usas? me parece extraño que las
funciones Mid y Right no esten disponibles en tu sistema. Creo que estan
disponibles a partir de XL97 para arriba y dudo mucho que tengas el Excel
95 (o igual me equivoco)

Saludos,
KL


"diegoar" wrote in message
news:
buenas.. amigos
hoy necesitro resolver lo siguiente:
tengo un combobox cuyo texto tiene el sig formato:
"y - xxxxxx"
"yy - xxxxxxx"
"yyy - xxxxxxx"



en el combo los valores son de ese formato. Ahora bien, tengo que
lograr obtener los "yyy" antes del blanco que antecede al "-". No se
que funcion poner dentro de un ciclo, para obtener los caracteres
ubicados antes del blanco.- el problema es que la funcion rigth y mid
que me dio KL no funcionan con la biblioteca standar de vba (al menos
en mi maquina)y si o si tengo que utilizar la biblioteca estandar
porque la aplicacion correra en muchas otras maquinas distintas.

espero puedan ayudarme (como siempre)

saludos
diego





Respuesta Responder a este mensaje
#3 diegoar
14/05/2005 - 13:49 | Informe spam
kl, utilizo xp, cuando las tipeo me sale un error que me dice que
marque la referencia a esa sentencia.

con respecto a la sub test, yo tengo texto como una cadena, mejor dice,
es un elemnto de un combobox:
"1 - xxx"
"2 - xxx"
"n - xxx"

yo tomo el value del combobox y puedo procesarlo como voy me escribiste
en la rutina, es decir, combobox1(i).value????
Respuesta Responder a este mensaje
#4 KL
14/05/2005 - 18:27 | Informe spam
Hola Diego,

kl, utilizo xp, cuando las tipeo me sale un error que me dice que
marque la referencia a esa sentencia.



Creo que hay algo que estas tipeando mal, porque estas funciones no
necesitan referncias - prueba copiar el codigo de mi mensaje directamente a
tu modulo y ejecutalo.

yo tomo el value del combobox y puedo procesarlo como voy me escribiste
en la rutina, es decir, combobox1(i).value????




Perdona por la confusion, es que la matriz Texto() te la puse para mejor
ilustracion de como funciona el codigo. En tu caso podrias poner algo asi:

Sub test()
With ComboBox1
MsgBox Left(.Value, InStr(.Value, " - ") - 1)
End With
End Sub

Saludos,
KL
Respuesta Responder a este mensaje
#5 diegoar
14/05/2005 - 18:48 | Informe spam
gracias!1 , pronto se viene el monumento para KL!!!
saludos
1000 gracias
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida