Copiar Columna de una hoja Consecutivamente en otra hoja varias veces

Hola expertos, espero de vuestra sabiduría me ayudéis en este para mi problema:

Veréis necesitaría una macro que me copie desde una hoja llamada "Detalleanual" el rango B5:B14, en otra hoja llamada "Registrodevecinos" en el rango D14:D23, bien eso para mi es fácil,pero necesitaría que la próxima vez que ejecute la macro pues la copia desde "Detalleanual" que siempre sera del mismo rango me la copiase en "Registrodevecinos" pero en el rango E14:E23, y asi cada vez que ejecute la macro, osea: 1ª ejecución:D14:D23,-2ª Ejecución:E14:E23,--3ª Ejecución:F14:F23............y asi sucesivamente.

Gracias por sus respuestas anticipadamente.

Un Saludo

Paco

1 Respuesta

Respuesta
1

Hay muchas maneras de copiar un rango, con o sin formatos, con o sin fórmulas, etc. Aquí solo un ejemplo para que veas cómo ubicar la primer col libre.

colx = Sheets("Registrodevecinos").Range("C14").End(xlToRight).Column + 1
Range("B5:B14").Copy Destination:=Sheets("Registrodevecinos"). Cells(14, colx)

Notas; estoy asumiendo que entre A14 y C14 no hay celdas vacías, sino comentame.

De todos modos en la sección Macros de mi sitio podes encontrar otras instrucciones para encontrar los límites, como x ej:

colx = Sheets("Registrodevecinos").Range("IV14").End(xlToLeft).Column + 1

Hola Elsa.

Perdona pero no se armar la macro,pues e puesto asi pero no funciona:

Sub Cierreperiodo()

Sheets("Detalleanual").Select

Range("B5:B14").Select

Selection.Copy

colx=Sheets("Registrodevecinos").Range("C14").End(xlToRight).Column+1

Range("B5:B14").Copy Destination:=Sheets("Registrodevecinos").Cells(14.colx)

End Sub

Gracias por tu paciencia

Paco

Perdona Elsa otra vez, pero se me olvido decirte que la copia debe de ser de solo valores, pues en las celdas procedentes existen formulas

Si, como dije al inicio: Hay muchas maneras de copiar un rango, con o sin formatos, con o sin fórmulas, etc. Por eso es importante que dejen todas las aclaraciones al realizar una consulta ;)

Te la dejo completa:

Sub Cierreperiodo()
'x Elsamatilde
'establecemos 1er col de destino
colx = Sheets("Registrodevecinos").Range("C14").End(xlToRight).Column + 1
'seleccionamos hoja origen
Sheets("Detalleanual").Select
'copiamos el rango
Range("B5:B14").Select
Selection.Copy
'seleccionamos la hoja destino
Sheets("Registrodevecinos").Select
'seleccionamos la 1er celda destino y pegamos
ActiveSheet.Cells(14, colx).Select
ActiveSheet.Paste
Selection.PasteSpecial xlValues
'volvemos a hoja origen
Sheets("Detalleanual").Select
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas