Copiar rango de celdas entre 2 hojas

Hola. Necesito copiar desde hoja 1 el rango c6:c24 y pegarlas en columna A de la hoja 2 pero que se pegue a partir de celda vacía de forma automática. Por su pronta respuesta, les agradezco mucho. Hasta pronto!!

1 respuesta

Respuesta
1

Ingresa al Editor de macros (presionando juntas Alt y F11), inserta un módulo y allí copia esto:

Sub copiaRango()
'x Elsamatilde
'copia el rango de hoja activa a celda libre en col A de Hoja2
finfila = Sheets("Hoja2").Range("A" & Rows.Count).End(xlUp).Row + 1
ActiveSheet.Range("C6:C24").Copy Destination:=Sheets("Hoja2").Range("A" & finfila)
End Sub

Para ejecutarla podés dibujar un botón en la hoja1 o asignarle un atajo de teclado ... estos temas los tengo explicados en la sección Macros de mi sitio.

PD) Hay muchas maneras de copiar datos: con o sin formatos, con o sin fórmulas. Esta opción te lleva los datos tal como los tenés en tu Hoja1.

Cualquier duda hacemelo saber.

Sdos

Elsa

Hola Elsa! en primer lugar gracias por tu pronta respuesta. el código que me enviaste funciona pero, lo que necesito es :

 1-pegar solo valores

 2-los datos que se vayan pegando deben ir debajo de los últimos datos pegados, es como llevar un consecutivo, siempre pegándose desde la primer celda vacía que encuentren esto porque hay ocasiones que no es el rango completo. Nuevamente por tu pronta respuesta gracias!!. Que Dios te bendiga. hasta pronto.

Para pegar solo valores debes utilizar ésta, y la debes ejecutar desde tu hoja1, es decir la que tiene el rango a copiar.

La primer instrucción (finfila = ) guarda la primer celda libre en col A, por lo que siempre se pega a continuación.

Sub copiaRango_valores()
'x Elsamatilde
'copia el rango de hoja activa a celda libre en col A de Hoja2
'guarda 1er celda libre en col A de Hoja2
finfila = Sheets("Hoja2").Range("A" & Rows.Count).End(xlUp).Row + 1
'copia el rango de la hoja activa
ActiveSheet.Range("E6:E24").Copy
'pasa a la hoja2 y se posiciona en la primer celda libre de col A
Sheets("Hoja2").Select
ActiveSheet.Range("A" & finfila).Select
'pega solo valores
'quita el modo de copiado
Application.CutCopyMode = False
End Sub

Sdos
Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas