macro con un caracter que parece espacio en blanco pero no lo es

04/08/2004 - 16:37 por jose | Informe spam
vereis copio desde una pagina web a las celdas de excel unas cantidades que
tienen formato de cadena de este tipo por ejemplo 1200 GBP.

En fin he hecho una macro para que me quitara la extension GBP y se quedara
solo el numero, pero resulta que el ultimo espacio en blanco no me lo quita.
Es decir le pongo en la macro

if (mid(1200 GBP, 5,1= " ")) then
left(1200 GBP, 5)
end if
pero resulta que nunca entra dentro del bucle if, no me escoge ese espacio
en blanco y no se porque. No se si es porque es un caracter de otro tipo.

espero que me podais decir la solucion

gracias

Preguntas similare

Leer las respuestas

#1 Emilio
04/08/2004 - 17:01 | Informe spam
Hola jose
para saber que hay en ese caracter lo que tienes que hacer es:

?asc(mid(1200 GBP, 5,1) )
esto en la ventana inmediato (pulsa ctrl + G o ctrl +S según versión de
Excel)
eso te devolverá el código ASCII del caracter "raro" uo me inclino por un 0
o un 9(tabulador)
Saludos a desde Huelva
Emilio
miliuco56 ALGARROBA hotmail.com

Reglas de conducta de los grupos de noticias:
http://support.microsoft.com/defaul...newsreglas

"jose" escribió en el mensaje
news:Kw6Qc.737$
vereis copio desde una pagina web a las celdas de excel unas cantidades


que
tienen formato de cadena de este tipo por ejemplo 1200 GBP.

En fin he hecho una macro para que me quitara la extension GBP y se


quedara
solo el numero, pero resulta que el ultimo espacio en blanco no me lo


quita.
Es decir le pongo en la macro

if (mid(1200 GBP, 5,1= " ")) then
left(1200 GBP, 5)
end if
pero resulta que nunca entra dentro del bucle if, no me escoge ese espacio
en blanco y no se porque. No se si es porque es un caracter de otro tipo.

espero que me podais decir la solucion

gracias


Respuesta Responder a este mensaje
#2 Carlos Durán Urenda
04/08/2004 - 18:22 | Informe spam
puedes determinar el codigo del caracter que te causa problema con una
funcion simiar a la siguiente
solo necesitas pasar el texto, y la posicion del caracter, te devolvera el
codigo ASCII

Function CodCar(texto As String, posicion As Integer) As Integer
CodCar = Asc(Mid(texto, posicion, 1))
End Function

y, si lo que deseas es obtener el valor numerico, sin tomar en cueta el
texto puedes usar una funcion similar a lo siguiente

Function ValorDato(texto As String) As Double
ValorDato = Val(Left(texto, Len(texto) - 3))
End Function

lo que hace es sacar el valor numerico del lado izquierdo de la cadena,
suponiendo que la cadena incluye 3 caracteres al final


espero te sirva

Carlos Durán



"jose" escribió en el mensaje
news:Kw6Qc.737$
vereis copio desde una pagina web a las celdas de excel unas cantidades


que
tienen formato de cadena de este tipo por ejemplo 1200 GBP.

En fin he hecho una macro para que me quitara la extension GBP y se


quedara
solo el numero, pero resulta que el ultimo espacio en blanco no me lo


quita.
Es decir le pongo en la macro

if (mid(1200 GBP, 5,1= " ")) then
left(1200 GBP, 5)
end if
pero resulta que nunca entra dentro del bucle if, no me escoge ese espacio
en blanco y no se porque. No se si es porque es un caracter de otro tipo.

espero que me podais decir la solucion

gracias


Respuesta Responder a este mensaje
#3 jose
04/08/2004 - 23:49 | Informe spam
problema resuelto

gracias !!

"Carlos Durán Urenda" escribió en el mensaje
news:
puedes determinar el codigo del caracter que te causa problema con una
funcion simiar a la siguiente
solo necesitas pasar el texto, y la posicion del caracter, te devolvera el
codigo ASCII

Function CodCar(texto As String, posicion As Integer) As Integer
CodCar = Asc(Mid(texto, posicion, 1))
End Function

y, si lo que deseas es obtener el valor numerico, sin tomar en cueta el
texto puedes usar una funcion similar a lo siguiente

Function ValorDato(texto As String) As Double
ValorDato = Val(Left(texto, Len(texto) - 3))
End Function

lo que hace es sacar el valor numerico del lado izquierdo de la cadena,
suponiendo que la cadena incluye 3 caracteres al final


espero te sirva

Carlos Durán



"jose" escribió en el mensaje
news:Kw6Qc.737$
> vereis copio desde una pagina web a las celdas de excel unas cantidades
que
> tienen formato de cadena de este tipo por ejemplo 1200 GBP.
>
> En fin he hecho una macro para que me quitara la extension GBP y se
quedara
> solo el numero, pero resulta que el ultimo espacio en blanco no me lo
quita.
> Es decir le pongo en la macro
>
> if (mid(1200 GBP, 5,1= " ")) then
> left(1200 GBP, 5)
> end if
> pero resulta que nunca entra dentro del bucle if, no me escoge ese


espacio
> en blanco y no se porque. No se si es porque es un caracter de otro


tipo.
>
> espero que me podais decir la solucion
>
> gracias
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida