Excel - ORDENAR DATOS, AÚN CON ALGUNAS CELDAS COMBINADAS

 
Vista:
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ORDENAR DATOS, AÚN CON ALGUNAS CELDAS COMBINADAS

Publicado por Quico (106 intervenciones) el 11/02/2019 19:21:47
Lo se! Se que no tendrían que combinarse celdas, pero no tengo más remedio que tener celdas combinadas. La entrada de datos en diferentes periodos, hace que necesite algún sistema para ordenar los valores alfanuméricos.


Tengo columnas de la A a la M, con información variada en cada fila horizontal desde la fila 6 hasta dónde llegue (no suele llegar a la 100)

He creado 2 macros, una tiene como prioridad el orden en la columna B (Story) y otro macro que prioriza el orden de la columna C (Epic). Por supuesto, cuando ordena, mueve con su valor, toda la fila. (para que siempre permanezcan los datos de cada entrada horizontal)

Ahora bien, como algunas celdas son combinadas, hace un efecto muy extraño, digamos que como si se solaparan varios datos en una misma celda.

Estan son las 2 macros. Y para ver el Fx que digo, supongo que tendréis que entrar al excel que adjunto.

Sub OrdenarStory()

Range("B6:B100").Select
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add2 Key:=Range("B2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Hoja1").Sort
.SetRange Range("B6:M100")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

---------------------------------------------------------------------------------

Sub OrdenarEpic()

Range("C6").Select
Range("C6:C100").Select
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add2 Key:=Range("C6"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Hoja1").Sort
.SetRange Range("B6:M100")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub


¿Hay forma humana de indicarle a la macro que respete cuando encuentre una CELDA COMBINADA el orden?....y por supuesto el contenido de toda la fila.

Por ejemplo, una celda combinada en columna B (pongamos con valor 'VALOR-50') y que luego tenga 3 filas internas (6,7,8), ordena priorizando el valor 50 de la columna B, pero respetando las 3 filas que por ejemplo contiene (5,6,7)....De tal forma que respecto a B, el VALOR-50 queda ordenado despues de VALOR-49 y antes del VALOR-51 pero manteniendo sus 3 filas internas de A a M ¡No se si me explico! ...es dificil de explicarme, la verdad!

Gracias.
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
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ORDENAR DATOS, AÚN CON ALGUNAS CELDAS COMBINADAS

Publicado por Quico (106 intervenciones) el 11/02/2019 22:10:53
¡Es que a mi me llega asi, porque es un documento para gestion de varias personas! Y ya estan las celdas combianadas. Puedo verder tiempo en quitar las celdas combindas, pero luego tendría que volver a combinarlas.
Por eso, me gustaria encontrar trar el sistema de ordenar con celdas combinadas.
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
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ORDENAR DATOS, AÚN CON ALGUNAS CELDAS COMBINADAS

Publicado por Quico (106 intervenciones) el 12/02/2019 07:14:10
Aunque he pensado una posibilidad.....
Pero me falta info para programar una macro.

Si creo una macro con esto:
Range("B6:M100").UnMerge
Consigo des-combinar las celdas combinadas.

Ahora bien, esto me deja CELDAS VACIAS y no encuentro la forma de que REPITA EL VALOR DE ARRIBA EN LAS CELDAS VACIAS hasta encontrar una celda con datos.

Esto tiene un problema, y es si en ña última fila, se pone a repetir el valor hasta el fin de los tiempos.
Creo que como el valor de la columna B, se relaciona con la columna C, quizá exista una forma de indicarle a la columna A (referencia clave) que si hay un valor a su derecha (columna C), repita el valor (en columna B) de arriba.
¡Pero no se si eso es posible!


Y claro sería ideal que o bien volviera UNA VEZ ORDENADO a hacer celdas combinadas de los valores repetidos o bien algun sistema en el que solo quede un valor pero visualmente parezca una celda combinada.

No se....

1. Localizar celdas combinadas y descombinar con: Range("B6:M100").UnMerge
2. ORDENAR tal y como lo tenia al inicio del POst (en base a 'Story ID' y 'Epic' (O columna B, o columna C)
3. Volver a unificar visualmente las celdas que se repiten en Columna B y columna C (o bien directamente COMBINAR o algun sistema parecido y visual que no destroce la estructura de celda!!

Gracias.
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
Imágen de perfil de wordexperto.com
Val: 6.373
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ORDENAR DATOS, AÚN CON ALGUNAS CELDAS COMBINADAS

Publicado por wordexperto.com (2803 intervenciones) el 12/02/2019 08:40:03
Puedes rellenarlas rápidamente, usando Ir a... > Especial > Celdas en blanco. Usa F5.
Así se seleccionan todas las celdas vacías. Ahora pon en la primera vacía =b12, donde b12 es la inmediata anterior no vacía.
Ctrl+Intro y ya está.
https://wordexperto.com/
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
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ORDENAR DATOS, AÚN CON ALGUNAS CELDAS COMBINADAS

Publicado por Antoni Masana (2477 intervenciones) el 12/02/2019 10:45:00
Buenas quico,

Los pasos a seguir son estos:

* Descombinar las celdas en las tres columnas ( B - C - H )
* Rellenar las vacías
* Ordenar
* Combinar celdas repetidas en las tres columnas ( B - C - H )

A que visto así suena fácil. Bueno es lo que hacen las dos macros que he incluido a tu código y que no verás el la lista de macros.
Están todas en el módulo 1. Dale un vistazo.

Hay un pequeño detalle que he modificado para que me funcione.

En esta línea 3 donde pone .Sort.SortFields.Add _ en el tuyo ponia .Sort.SortFields.Add2 _. He tenido que quitar el 2 para que me funcione y no se porque es Add2 en lugar de Add

1
2
3
4
5
6
7
...
    ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add _
                                       Key:=Range("B6:B" & Fila), _
                                       SortOn:=xlSortOnValues, _
                                       Order:=xlAscending, _
                                       DataOption:=xlSortNormal

Puede ser la diferencia de versión en Excel, yo utilizo la 2010 y tu debes tener una superior.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ORDENAR DATOS, AÚN CON ALGUNAS CELDAS COMBINADAS

Publicado por Quico (106 intervenciones) el 12/02/2019 17:56:10
Antoni!
me quito el sombrero! Eres un fuera de serie!
Efectivamente realiza la tarea en 5 segundos. ¡Algo que tardaría en hacer más de 5 minutos!!

Sobre lo de Sort.SortFields.Add2 _ , pues no se! Yo tengo la version de 2016 ¡Iguale s eso!

Tengo que poerlo en la plantila real que utilizamos para ver q tal funciona, y adaptarlo, porque he visto que me deje un par de columnas.....

Una cosa, he observado que al lanzar la macro, aparecen una lineas verticales discontinuas detrás de E, I, L, O
Bien es cierto, que si cierro, desaparece.....pero si se puede evitar!!

Gracias!
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
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ORDENAR DATOS, AÚN CON ALGUNAS CELDAS COMBINADAS

Publicado por Quico (106 intervenciones) el 13/02/2019 01:22:43
Buenos dias Antonio.

Pues algo me falla!! Texto(4) = Cells(8, "I"): Celda(3) = "I": Fila = 9
He tenido que modificar la macro porque respecto a las filas, todo comienza en la fila 8 (en vez de la 6) y creo que he puesto todo correcto!!

Tambien he añadido en la macro y modificdo algun valor de columna equivocado.
Asi que la columna principal, sigue siendo la B, pero he añadido que descombine y vuelva a combinar en las columnas C, D y I
¡Pero no hay forma!!

¿Qué he puesto mal? Creo que he ajustado bien la macro :-(
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
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ORDENAR DATOS, AÚN CON ALGUNAS CELDAS COMBINADAS

Publicado por Antoni Masana (2477 intervenciones) el 13/02/2019 11:21:17
He tenido que corregir varias cosas.

Ahora tengo un problema y una dura.

El problema es que no veo ninguna columna que no se combinen celdas y se llenen todas, para saber en cuantas filas hay datos.
Lo he solucionado mirando las columnas, B, C, D, E, J, K. L y M. No es que tarde mucho pero se podría simplificar.
Estoy pensando en otra forma de hacerlo. De hecho ya lo he pensado y te he puesto dos formas de buscar utiliza la que mejor consideres.


La dura es que se des combinan las columnas B, C, D e I.

Después se rellenan las celdas vacías, ¿Como se hace? Al des combinar dos celdas la superior se queda con los datos y las inferiores vacías.

Se recorre la columna de arriba a abajo y cuando encuentra un celda vacía la rellena con la inmediata superior. Por eso es importante saber donde termina.

Ahora bien la columna Resul (D) no puedo hacerlo porque solo tiene 6 filas con datos y el último lo repetiría hasta el final

Adjunto libro

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ORDENAR DATOS, AÚN CON ALGUNAS CELDAS COMBINADAS

Publicado por Quico (106 intervenciones) el 14/02/2019 23:09:27
Bona nit Antoni!

Por fin he podido mirar el excel.
Creo que va perfecto. :-)
Intentaré hacer alguna prueba durante el fin de semana, añadiendo numeraciones y te comento...pero a priori parece que realiza bien su cometido.

Muchas gracias y te digo.
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
sin imagen de perfil
Val: 140
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ORDENAR DATOS, AÚN CON ALGUNAS CELDAS COMBINADAS

Publicado por Luis (60 intervenciones) el 26/11/2020 11:59:23
Buenas, Antoni.

He probado la macro en mi ejemplo y no ejecuta nada....¿Crees que es posible establecer un botón para ordenar algunas columnas? No todas, sólo un par o tres necesarias ¿Hay que hacer una macro para cada columna?

Gracias!
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