Cómo copiar diferentes rangos d celdas d una hoja y pegarlas en distintas columnas d un nuevo libro

Bueno encontré un código el cual me permite copiar celdas y pegarlas pero en la siguiente fila, lo que quiero hacer es abrir un nuevo documento y que de mi hoja4 me copie los rangos a1:c57 en la columna a, e1:57 en la columna d, i1:k57en la columna g, m1:o57 en la columna j, q1:s57 en la columna m y u1:w57 en la columna p; en el nuevo documento quise usar el código de la siguiente manera:

Sub tickets1()
Workbooks.Add
Workbooks("almacen dulces.xlsm").Activate
fila = 1
Sheets(4).Select
Range("A1:C57").Select
Selection.Copy
Workbooks(Workbooks.Count).Sheets(1).Cells(fila, 1).PasteSpecial
Sheets(4).Select
Range("E1:G57").Select
Selection.Copy
Workbooks(Workbooks.Count).Sheets(1).Cells(fila, 4).PasteSpecial
Sheets(4).Select
Range("I1:K57").Select
Selection.Copy

End Sub

Pero creo que no funciono muy bien, agradeceré su ayuda ya que no tengo mucha experiencia de macros con excel.

1 respuesta

Respuesta
1

Utiliza esta macro desde tu archivo principal:

Sub tickets1()
mio = activeworkbook.name
Workbooks.Add
otro = activeworkbook.name
Workbooks("almacen dulces.xlsm").Activate
Sheets(4).Select
Range("A1:C57").Select
Selection.Copy
Workbooks(otro).Sheets(1).range("a1").PasteSpecial paste:=xlvalues
Range("E1:G57").Select
Selection.Copy
Workbooks(otro).Sheets(1).range("d1").PasteSpecial paste:=xlvalues
Range("I1:K57").Select
Selection.Copy
Workbooks(otro).Sheets(1).range("g1").PasteSpecial paste:=xlvalues
Range("m1:o57").Select
Selection.Copy
Workbooks(otro).Sheets(1).range("j1").PasteSpecial paste:=xlvalues
Range("q1:s57").Select
Selection.Copy
Workbooks(otro).Sheets(1).range("m1").PasteSpecial paste:=xlvalues
Range("u1:w57").Select
Selection.Copy
Workbooks(otro).Sheets(1).range("p1").PasteSpecial paste:=xlvalues
End Sub

recuerda finalizar la consulta

Gracias experto el código me funciono excelente, aprovechando, ¿con que instrucción conservo el formado que tiene mi documento?

Entonces utiliza la macro así:

Sub tickets1()
mio = activeworkbook.name
Workbooks.Add
otro = activeworkbook.name
Workbooks("almacen dulces.xlsm").Activate
Sheets(4).Select
Range("A1:C57").Select
Selection.Copy
Workbooks(otro).activate
Sheets(1).select
range("a1").select
activesheet.paste
workbooks(mio).activate
Range("E1:G57").Select
Selection.Copy
Workbooks(otro).activate
Sheets(1).select
range("d1").select
activesheet.paste
workbooks(mio).activate
Range("I1:K57").Select
Selection.Copy
Workbooks(otro).activate
Sheets(1).select
range("g1").select
activesheet.paste
workbooks(mio).activate
Range("m1:o57").Select
Selection.Copy
Workbooks(otro).activate
Sheets(1).select
range("j1").select
activesheet.paste
workbooks(mio).activate
Range("q1:s57").Select
Selection.Copy
Workbooks(otro).activate
Sheets(1).select
range("m1").select
activesheet.paste
workbooks(mio).activate
Range("u1:w57").Select
Selection.Copy
Workbooks(otro).activate
Sheets(1).select
range("p1").select
activesheet.paste
End Sub

recuerda finalizar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas