[BUG?] Autofilter y separador decimal

11/10/2005 - 16:33 por Luis Garcia | Informe spam
Hola a todos:

Tengo XL2000 con el separador decimal la coma, y tengo un problema:

Ejemplo para reproducirlo:

[A1]="A"
[B1]="B"
[A2]=1,5
[B2]=1,6
[A3]=1,7
[B3]=1,8
... con esto es suficiente, pero podeis poner mas valores.

Activar 'AutoFiltro' en el rango.

Grabar Macro (llamemosla BUG1).

Filtrar un valor de la columna A y otro de la B.

Finalizar grabación.

Quitar los filtros puestos.

Ejecutar Macro BUG1.

!!! Chachi !!! No aparece los registros filtrados !!!

Si pulsamos sobre el filtro [personalizado] de cada columna, nos muestra
correctamente el valor. Y si le damos aceptar, entonces si que muestra
correctamente los valores.

Solución 1:

Modificar la macro y sustituir los valores "=1,x" por "=1.x" (sustituir
la coma por el punto)

Ejecutar Macro BUG1.

Parece que lo hace bien... pero al desplegar el combo del filtro de la
columna A o B:

!!! Las listas de los posibles valores están vacias !!!

Y por supuesto, a un usuario no le haria mucha gracia (ni a mi tampoco).

Preguntas:

1) ¿ Os pasa esto ? XL2000, W2000, separador decimal coma (,)

Nota: lo acabo de probar con XL2003 y lo mismo.

2) ¿ Como puedo solucionarlo ? Por supuesto, el caso real no es este, es un
ejemplo.

Saludos

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
13/10/2005 - 23:48 | Informe spam
hola, Luis !

Tengo XL2000 con el separador decimal la coma, y tengo un problema:
Ejemplo para reproducirlo:
[A1]="A" [B1]="B"
[A2]=1,5 [B2]=1,6
[A3]=1,7 [B3]=1,8
Activar 'AutoFiltro' en el rango... Grabar Macro... Filtrar un valor de la columna A y otro de la B.
Finalizar grabacion Quitar los filtros puestos Ejecutar Macro... Chachi !!! No aparece los registros filtrados !!!
... pulsamos sobre el filtro [personalizado] de cada columna... le damos aceptar, entonces... muestra correctamente los valores.
... Modificar la macro y sustituir los valores "=1,x" por "=1.x" (sustituir la coma por el punto)... Ejecutar Macro
... lo hace bien... pero al desplegar el combo del filtro de la columna A o B:... los posibles valores estan vacias !!!
... a un usuario no le haria mucha gracia (ni a mi tampoco).
... Os pasa esto ? XL2000, W2000, separador decimal coma (,)... lo acabo de probar con XL2003 y lo mismo.
... Como puedo solucionarlo ?



1) [hasta donde se]... VBA es 'US-Centric' [lo que significa que por vba se debe usar punto para separar decimales] :-(
2) el comportamiento que describes [y algunos otros que 'le siguen'] en el caso de separador decimal NO-EUA/punto...
[me parece que]... -efectivamente- se trata de un 'bug' [solo que no esta 'documentado' y 'afecta' desde 97 a 2003] :-\
3) una -posible- solucion [que estoy seguro no sera de tu agrado]... es 'ceder' al usuario la seleccion del desplegable :))
[con lo que el codigo 'pierde' -momentaneamente- el control, puesto que tendra que esperar la seleccion del usuario] :\

saludos,
hector.
Respuesta Responder a este mensaje
#2 Luis Garcia
14/10/2005 - 12:18 | Informe spam
Hola Hector:
"Héctor Miguel" escribió en el mensaje
news:uNbVO$
hola, Luis !

1) [hasta donde se]... VBA es 'US-Centric' [lo que significa que por


vba se debe usar punto para separar decimales] :-(
2) el comportamiento que describes [y algunos otros que 'le siguen'] en el


caso de separador decimal NO-EUA/punto...

Cierto, tambien da problemas con fechas (formato 'dd/mm/aaaa' versus formato
USA formato 'mm/dd/aaaa').

[me parece que]... -efectivamente- se trata de un 'bug' [solo que no


esta 'documentado' y 'afecta' desde 97 a 2003] :-\

¿ Existe alguna forma de 'avisarles' ? ;-)

3) una -posible- solucion [que estoy seguro no sera de tu agrado]... es


'ceder' al usuario la seleccion del desplegable :))
[con lo que el codigo 'pierde' -momentaneamente- el control, puesto


que tendra que esperar la seleccion del usuario] :\

No es aplicable a mi problema. Te lo explico rapidamente, porque yo creo que
no hay solucion hasta que no arreglen el 'bug', por eso te decia lo de
'alguna forma de avisarles':

Lo que hago es tan sencillo como poner un boton para guardar la seleccion de
filtros del Autofiltro, luego el usuario puede cambiar todo lo que quiera
(incluso quitar el autofiltro) y en otro boton recuperar el filtro guardado.
Tan sencillo como eso.

Con lo cual, necesito que los filtros funcionen bien, puesto que yo no
controlo que campos estan filtrados, ni que tipo de datos contienen, ni
nada. Si no se filtran fechas, ni valores decimales, funciona de muerte y es
muy util.

Ya les he dicho (a los usuarios) que el problema es de Excel / Microsoft, y
si consigo que se arregle, me puedo poner unas cuantas medallas :-DDDDDDD,
algunos usuarios tambien son jefes ;-) Eso, claro esta, si se arregla y en
un
plazo de menos de 5 años :-)))

Gracias por tu ayuda.

Saludos
Respuesta Responder a este mensaje
#3 Héctor Miguel
14/10/2005 - 21:07 | Informe spam
hola, Luis !

1) [hasta donde se]... VBA es 'US-Centric' ...


Cierto, tambien da problemas con fechas (formato 'dd/mm/aaaa' versus formato USA formato 'mm/dd/aaaa').



=> una solucion a este 'problema' es: CLong(Cdate(dato_fecha))

[me parece que]... -efectivamente- se trata de un 'bug' [solo que noesta 'documentado' y 'afecta' desde 97 a 2003] :-\


Existe alguna forma de 'avisarles' ? ;-)



=> esta hecho :))

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