Ordenar datos

Tengo un pequeño problema y espero encontrar la solución. Paso a detallarlo: Tengo una cantidad considerable de datos (casi 1000) en la columna A, y quiero ordenarlos de la siguiente manera: desde A1 hasta el final de la página y que después continué en B1 hasta el final de a la página, y después en C1.. Y así sucesivamente. Y que cuando llegue al final de la primera página me haga lo mismo pero en la página 2 y así sucesivamente. Espero que se entienda. Trate de hacerle un copiado especial definiendo el rango de pegado pero no resulto.
2

2 Respuestas

448.850 pts. Dispuesto a colaborar en la lucha contra MS Excel....
Al no existir un método para efectuar lo que pides en un úniuco paso tienes dos alternativas:
-Seleccionar la columna y clickear el ícono de ordenar. No es necesario poner una pregunta aquí para recibir una respuesta tan trivial.
- Realizar el procedimiento completo una vez pero con la "Grabadora de Macros" encendida, de forma tal que la próxima vez sólo tengas que ejecutar esa macro.
Si tienes algún conocimiento mínimo de VBA puedes editar esa macro o completar según tus necesidades, está que empecé a desarrollar (como para darte una idea):
Sub sortall()
Sheets("Hoja1").Select
Columns("A:A").Select
Selection.Sort Key1:=Range("A:A"), Order1:=xlAscending, Header:=xlGuess,OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Columns("B:B").Select
Selection.Sort Key1:=Range("B:B"), Order1:=xlAscending, Header:=xlGuess,OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Columns("C:C").Select
Selection.Sort Key1:=Range("C:C"), Order1:=xlAscending, Header:=xlGuess,OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
' ....
' luego la macro pasa a la siguiente hoja y repite el lote de ordenamiento:
Sheets("Hoja2").Select
Columns("A:A").Select
Selection.Sort Key1:=Range("A:A"), Order1:=xlAscending, Header:=xlGuess,OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Columns("B:B").Select
Selection.Sort Key1:=Range("B:B"), Order1:=xlAscending, Header:=xlGuess,OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Columns("C:C").Select
Selection.Sort Key1:=Range("C:C"), Order1:=xlAscending, Header:=xlGuess,OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
' ....
Sheets("Hoja3").Select
' ....
End Sub
Puedes copiarte esta macro al editor de VBA (Accedes a él presionando Alt F11), completar las columnas/hojas que me faltaron y reemplazar sus direcciones.
Luego sólo será cuestión de ejecutar esta macro que llamé "sortall"
Esta creo es la mejor solución.
Dime si necesitas más ayuda con esto.
Que tengas un buen fin de semana.
Un abrazo!
Fernando
200.775 pts.
¿Quieres ordenar las columnas de forma independiente?, es decir, si tienes una especie de registros, tienes que ordenar por uno o más campos, pero siempre la fila completa, si quieres ordenar columna a columna, todos los datos se revolverán, ahora, si no están relacionados no hay problema, entonces hay que seleccionar los datos, ordenarlos, pasarse a la siguiente columna y así con todas las columnas y hojas con datos, ¿es correcto?, ahora, ¿esto lo quieres hacer manual o con código?.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas