¿Macro para copiar y pegar filas fijas en columnas?

Estoy realizando una macro pero tengo poca experiencia lo que sucede es lo siguiente:

Tengo una columna (Columna A) con 15.000 datos y lo que yo quiero hacer es copiar de 120 datos provenientes de la columna A a las columnas B, C, D... Entonces esos 15000 datos estarían fraccionados en 120 datos pegados en las columnas B, C,... Hasta completar los 15000 o más.

1 Respuesta

Respuesta
1

H o  l a:

Te anexo la macro

Sub SerpararDatos()
'Por.Dante Amor
    m = 120
    n = m
    j = 2
    ActiveSheet.UsedRange.Offset(0, 1).ClearContents
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row Step m
        Range("A" & i & ":A" & n).Copy Cells(1, j)
        n = n + m
        j = j + 1
    Next
    MsgBox "Proceso terminado", vbInformation, "SEPARAR DATOS"
End Sub

Me aparece un error en la línea For i=1... por favor ayuda :)

¿Qué mensaje de error te aparece?

¿En qué columna están tus datos y en cuál fila empiezan tus datos?

Puedes poner una imagen de tu hoja, donde se vean las filas y las columnas de excel.

Ahí va la imágen, gracias por el tiempo 

Pero no veo el mensaje de error.

¿Qué versión de excel tienes?

Envíame los datos a mi correo:

¿Qué mensaje de error?

¿Qué versión de excel?

Y tu archivo para ver cuál es el problema.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “gustavo rivas” y el título de esta pregunta.

Enviado, Muchas gracias 

Te regresé el archivo con la misma macro, la probé y funcionó.

Realiza la prueba y si te funciona, no olvides valorar la respuesta.

¡Gracias! Muchaaaas Gracias de verdad que me haz ayudado bastante, estoy realizando mi tesis y necesitaba acelerar el proceso, muchas gracias :)

Una última consulta y de verdad solo si puedes o tienes tiempo respondame porfa porque de verdad ya ha echo bastante por mi y estoy muy agradecido.

Pasa lo siguiente:

Con la macro que usted me envió, divido los datos en segmentos de 120 datos, ahora cada segmento de 120 pasa a una hoja dos llamada "Data" en la cual se calcula un exponente de hurst con todos esos datos. (a través de una macro que está funcionando)

Una vez que se calcula el exponente, lo copio y lo pego a una hoja3 que se llama "Hurst" y quiero automatizar ese último paso, por el momento el código que hace eso último es el siguiente:

Columns("C:C").Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.ClearContents
Columns("A:A").Select
Selection.Copy
Application.CutCopyMode = False
Application.Run "'Hurst (2) - copia.xls'!Macro1"
Columns("C:C").Select
Selection.Copy
Sheets("Data").Select
Columns("A:A").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Application.Run "'Hurst (2) - copia.xls'!Module1.Hurst"
Range("C3").Select
Selection.Copy
Sheets("Hurst").Select
Range("G7").Select
ActiveSheet.Paste
Sheets("Datos").Select


Columns("D:D").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Data").Select
Columns("A:A").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Application.Run "'Hurst (2) - copia.xls'!Module1.Hurst"
Range("C3").Select
Selection.Copy

Sheets("Hurst").Select
Range("G8").Select

ActiveSheet.Paste

H o l a:

Con gusto te ayudo, pero deberás crear una nueva pregunta por cada petición.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas