Foros del Web » Soporte técnico » Ofimática »

Ayuda con Excel

Estas en el tema de Ayuda con Excel en el foro de Ofimática en Foros del Web. Buenas tardes amigos, espero que puedan darme una mano. Tengo un excel con 20975 filas, lo que son algo asi como 420 hojas impresas, necesito ...
  #1 (permalink)  
Antiguo 29/12/2009, 12:32
 
Fecha de Ingreso: diciembre-2009
Mensajes: 1
Antigüedad: 14 años, 3 meses
Puntos: 0
Pregunta Ayuda con Excel

Buenas tardes amigos, espero que puedan darme una mano.
Tengo un excel con 20975 filas, lo que son algo asi como 420 hojas impresas, necesito que esa fila enorme, se vaya distribuyendo por hoja. No se si me explico

por ejemplo:
ahora tengo asi:
1
2
3
4
5
...
2975

Lo que necesito es que por ejemplo que en una hoja me haga 4 columnas con esos numeros, ordenados de menor a mayor y lo haga asi:

hoja 1
Código:
1       7        13    19 
2       8        14     20
3       9        15     21
4       10      16     22
5       11      17     23
6       12      18     24
hoja 2

Código:
25     31    37     43
26     32    38     44
27     33    39     45
28     34    40     46
29     35    41     47
30     36    42     48
y asi hasta el final..

espero que no sea imposible..algun macro debe existir o algo..

espero haber sido claro, xq no se bien como explicar esto que me pidieron..

desde ya muchas gracias
  #2 (permalink)  
Antiguo 29/12/2009, 12:48
 
Fecha de Ingreso: mayo-2004
Ubicación: CABA - Argentina
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 3
Respuesta: Ayuda con Excel

Seba, usa el grabador de Macros para 2 paginas...
Y despues replicalo editando el codigo VBA que se genera para dicho macro. :)

Saludos
__________________
ReC Blog =)
  #3 (permalink)  
Antiguo 30/12/2009, 09:49
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años
Puntos: 88
De acuerdo Ayuda con Excel

Hola! seba.
Incorpora la siguiente macro:

Código vb:
Ver original
  1. Sub Re_Ordenar()
  2. Dim ii As Long, jj As Integer
  3.  
  4. 'Define el número de filas por columna
  5. Const FpC As Integer = 6
  6.  
  7. Application.ScreenUpdating = False
  8. [b:g].Delete Shift:=xlToLeft
  9. ActiveSheet.ResetAllPageBreaks
  10.  
  11. 'Copia la hoja activa y trabaja sobre esta copia
  12. ActiveSheet.Copy After:=Sheets(1)
  13.  
  14. For ii = 1 To [a1].End(xlDown).Row Step 4 * FpC
  15.   For jj = 1 To 7 Step 2
  16.     Cells(ii + FpC * (jj - 1) / 2, 1).Resize(FpC, 1).Cut Cells((ii + 3) / 4, jj)
  17.   Next jj
  18. Next ii
  19.  
  20. For ii = FpC To [a65536].End(xlUp).Row - 1 Step FpC
  21.   ActiveSheet.HPageBreaks.Add Before:=Cells(ii + 1, 1)
  22. Next ii
  23.  
  24. Rows([a65536].End(xlUp).Offset(1).Row & ":65536").Delete Shift:=xlUp
  25. Application.ScreenUpdating = True
  26. End Sub

Tres cosas importantes:

a) Estoy suponiendo que tus datos están en la columna "A" comenzando desde la celda [A1].

b) La línea:
Const FpC As Integer = 6

define "6" filas por columna al igual que has mostrado en tu ejemplo.
Si quieres modificar este dato a otra cantidad, simplemente cambias ese número.

c) A los efectos de reiterar el procedimiento tantas veces como lo requieras, hago una copia de la hoja en cuestión y trabajo sobre ella.

Saludos, Cacho.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:19.