Dividir columna en excel

Sigo con mis batallas por el excel. Dispongo de un documento excel con 1 columna muy larga, ordenadita correctamente. Ahora me gustaría dividir esta columnas en tres, porque con un solo par de columnas el documento mide cerca de 100 páginas, y me gustaría que hiciera cerca de 20 más o menos. Lo que ahora tengo es:
Código
001
002
003
004
005...
Y me gustaría que quedara así:
Codigo codigo codigo
001 004 007
002 005 008
003 006 009
me han ayudado en su momento y me crearon esta macro
Range(ActiveCell, Selection.End(xlDown)).Select
Selection.EntireRow.Select
celdas = Selection.Rows.Count
Celdas1 = (celdas / 3) - 1
Range(ActiveCell, ActiveCell.Offset(Celdas1, 1)).Copy
ActiveCell.Offset(0, 2).Select
ActiveSheet.Paste
ActiveCell.Offset(0, -2).Select
ActiveCell.Offset(Celdas1 + 1, 0).Select
Range(ActiveCell, ActiveCell.Offset(Celdas1, 1)).Copy
Selection.End(xlUp).Select
ActiveCell.Offset(0, 4).Select
ActiveSheet.Paste
ActiveCell.Offset(0, -4).Select
Application.CutCopyMode = False
ActiveCell.Offset(Celdas1 + Celdas1 + 2, 0).Select
Range(ActiveCell, ActiveCell.Offset(Celdas1, 1)).Copy
Selection.End(xlUp).Select
ActiveCell.Offset(0, 6).Select
ActiveSheet.Paste
ActiveCell.Offset(0, -6).Select
Application.CutCopyMode = False
End Sub
El problema es el orden, la primer columna empieza en 001 pero por ejemplo el numero 0050 termina en la hoja 5, lo que yo quiero es que el numero 0050 se encuentre en la primer página, así son fáciles de encontrar los números, ¿yo luego voy a poner en página uno el titulo rango desde 001 hasta 0020 se entiende?
Respuesta
1
Valecinco:
Aquí va la macro que necesitas para solucionar tu problema.
Lo único que tienes que cumplir es que la columna con los números esté en la columna A y empiece en la celda A1.
Esta macro tiene la una cantidad variable de filas, por lo que tú vas a variar el número de ellas dependiendo de la cantidad de filas que necesites que aparezcan en tu informe.
Como resultado te van a salir tantas columnas como el total general de filas que tienes, dividido por el número de filas que tú digites al principio.
Para hacer la macro, yo probé con 50 filas.
Bueno, ahí va la macro:
Sub dividir()
Range("A1").Select
filas = InputBox("Ingrese el número de filas")
ActiveCell.Offset(filas, 0).Select
Do While Not IsEmpty(ActiveCell)
Range(Selection, Selection.End(xlDown)).Select
Selection.Cut
ActiveCell.Offset(0, 1).Select
Selection.End(xlUp).Select
ActiveSheet.Paste
ActiveCell.Select
ActiveCell.Offset(filas, 0).Select
Loop
End Sub
Hola Juan mil gracias por contestarme, te cuento que la macro no me función, hice lo que dijiste y lo probé en un archivo con 50 filas, salta que hay un error en tiempo de ejecución, el error es el 13, seguramente sea una tontería, pero te agradecería si me lo volvés a mandar, y me gustaría hacerte otra preguntita, en la columna A tengo los código y en la B (la agregue) puse los precios, así que me gustaría si podes que lo ordene con sus respectivos precios
Ej
codigo  precio              codigo   precio              codigo precio
001 25 003 30 005 25
002 10 004 89 006 9... etc
La cifra de filas que tienes que ingresar, corresponde a la cantidad de filas que va a tener una hoja impresa.
De todos modos, tienes que enviarme tu archivo para incluirle la macro y así salir más rápido.
Mi e-mail es [email protected]
Juan fue un tratar contigo, me solucionaste el problema y me ahorraste mucho trabajo, te estoy muy agradecida, no solo por tu inteligencia sino también por ser tan amable y eficiente, un gusto
Saludos
VAleria

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas