Listas, tablas y contadores

3 envíos / 0 nuevos
Último envío
Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Listas, tablas y contadores

Hola

Estoy trabajando con un libro en el que creo hojas y dentro inserto tablas dinámicamente.

El caso es que mientras trabajo con las tablas las reordeno mediante código. Como el orden inicial no responde a nada que Excel pueda "reordenar" (el orden es así porque sí), pero tiene un sentido, tengo que volver a recuperarlo. La opción que he tomado es poner un contador, es decir, una columna que va incrementando fila a fila de uno en uno. Cuando quiero devolver el orden inicial lo único que tengo que hacer es ordenarla según esa columna.

Mi pregunta es la siguiente:

¿Existe la opción de hacer esto automáticamente? Igual que hay una fila de encabezados, una de totales, etc, ¿se puede hacer una columna para un contador incremental automático al estilo de las bases de datos?

Cuando digo automáticamente no me refiero a resolverlo vía macro, porque así ya lo tengo resuelto, sino vía propiedades de la columna en cuestión.

La segunda pregunta, ligada a la anterior, es la siguiente:

¿Hace falta? Quiero decir, ¿hay alguna manera de restablecer el orden inicial sin tener que reordenar mediante una columna de contadores? ¿Hay alguna manera de eliminar la ordenación de la tabla y que la devuelva a como estaba antes de cambiar la ordenación según alguna columna?

Gracias por la respuesta, y feliz año 2012

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 21 horas 32 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Listas, tablas y contadores

Hola Cron, feliz año

Excel no tiene memoria, no recuerda cómo estaban ordenados los datos antes de reordenarlos (por supuesto no me refiero a deshacer nada más ordenar)
supongo además que puedes querer recuperar tu orden dentro de unos días.

Igual que tú, yo siempre he recurrido a esa columna auxiliar donde asigno un número, pero no he encontrado la manera de hacerlo totalmente automático, me explico:

puedo tener una fórmula que al añadir un dato nuevo me aplique el número de orden que corresponda (por ejemplo contando las filas con la función FILAS o algo parecido), pero luego hay que transformar esa fórmula en un número, para que no se recalcule cada vez.

En otras ocasiones utilizo una fórmula que devuelve el número de fila (por ejemplo restando la fila actual menos la fila del encabezado de la tabla), pero volvemos a lo mismo, sólo ees válido se no reordeno mis datos.

Asi que bien a mano, bien mediante macros, tengo que convertir ese número de orden en un valor fijo, pero esa es la solución que ya tienes.

 

------
Ya sé Excel, pero necesito más ahora en pdf

 

------
Ya sé Excel, pero necesito más.

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Re: Listas, tablas y contadores

Exacto, esa solución ya la tengo.

Gracias por la respuesta (en minutos!!! ¿tienes conectado el foro al Whatsup? :P )

Lo que hago es:

1- Ordenar por la columna del contador de menor a mayor

2- Añadir un (fila anterior + 1) mediante código en la columna contador, además de todos los demás datos de la fila. Lo hago cambiando la propiedad Value para que no me ingrese una fórmula.

3- Reordenar según me interese.

Quería algo como lo de calcular los totales por columna, tipo:

ActiveSheet.ListObjects(1).ListColumns(nombre).TotalsCalculation = xlTotalsCalculationSum

Por simple eficiencia de código. Pero si hay que añadirlo paso a paso, se hace.
Saludos