Rango para pegar datos

Buenos días Elsa Matilde
Siento una gran admiración por usted
Mi consulta es: Quiero pegar datos de la hoja1 a la hoja2. Necesito una macro donde yo le diga que pegue los datos en la hoja2 a partir del rango tal y que se pueda modificar.
Muchas Gracias

1 Respuesta

Respuesta
1
Hay muchas maneras de copiar 'rangos': por filas, col, celdas, etc
No comprendo si el rango variable es el que se copia o a partir de donde se pega.
Bueno, asumí que el rango variable será a partir de dónde se copia. Ese dato se puede obtener como contenido de otra celda o por InputBox
En el ejemplo copiaré los datos a partir del rango que me indica la celda D1 y se copiará en la hoja 2 a partir de la primer celda libre de la col A. Todas estas referencias deberás ajustarlas a tu libro.
En un módulo que insertarás en el Editor, copia esto:
Sub copiaRangos()
Dim inicio As String
Dim filalibre As Integer
'busco la primer fila libre de la hoja2
Sheets("Hoja2").Select
filalibre = ActiveSheet.Range("A65536").End(xlUp).Row + 1
'la primer celda del rango se obtiene en D1
Sheets("Hoja1").Select
inicio = Range("D1").Value
'se copian las filas desde inicio hasta la primer celda vacía
Range(inicio, Range(inicio).End(xlDown)).Copy Destination:=Sheets("Hoja2").Cells(filalibre, 1)
End Sub
Si el rango lo ingresas por InputBox tendrás que reemplazar la instrucción inicio= ... por esta otra:
inicio = InputBox("Ingrese primer celda a copiar")
Espero puedas aplicar esto a lo tuyo, sino me volvés a contactar con datos más precisos.
Saludos
Elsa
PD) No te pierdas mi Manual con las 300 Macros explicadas en español. Descarga la Demo gratis desde:
http://es.geocities.com/lacibelesdepunilla/manual
Tienes razón soy yo quien no me hago entender y soy nuevo.
1-Quiero pegar los datos de la hoja1 contenidos en el rango a2:a100 en la hoja2 a partir de la cela a2
Gracias.
Por favor te recomiendo mi segunda pregunta.
JCOA
Te ajusté la rutina a esos datos:
Fíjate que utilizo una variable 'filalibre' para indicar cuál es la primer fila sin datos en la Hoja2. Pero si siempre quieres que se copie en A2 (sobrescribiendo lo que tenga) reemplaza filalibre por 2 en la instrucción Copy.
Si algo no queda aclarado seguimos tratando.
Saludos
Elsa
Sub copiaRangos()
Dim inicio As String
Dim filalibre As Integer
'busco la primer fila libre de la hoja2
Sheets("Hoja2").Select
filalibre = ActiveSheet.Range("A65536").End(xlUp).Row + 1
Sheets("Hoja1").Select
'se copian las filas del rango
Range("A2:A100").Copy Destination:=Sheets("Hoja2").Cells(filalibre, 1)
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas