copiar rango

09/02/2009 - 12:23 por gongi | Informe spam
Hola Grupo!,

Por favor ,se pueden ir volcando, por código, los datos de una hoja
en un histórico? Es un rango " variable" ya que cada vez, el numero
de filas( registros) puede ser mayor o menor, lo que no varía son las
columnas. No puedo usar formularios o plantilla de "entrada"

Gracias por vuestra ayuda.
A1 B1 C1 D1
FACTURA NOMBRE APELLIDOS DESTINO
FI12187 XXXXX XXX EUROPA
FI12187 XXXX XXXX EUROPA
FI12219 XXX XXXX EUROPA
FI12219 XXXXXX EUROPA

Un cordial saludo!
 

Leer las respuestas

#1 Juan M
09/02/2009 - 13:07 | Informe spam
Hola,

Te paso dos opciones, dependiendo de si necesitas comprobar la entrada de
datos, o si es una base de datos o un libro que debe permanecer cerrado para
insertarlo por Ado, puede que te resulte útil el primer método.

Si el destino es otra hoja de excel que puedes tener abierta, cuando sean
muchos registros, seguramente sea más rápido el segundo, claro que deberías
hacer la comprobación de datos al momento de escribir en la celda (según
teclees).

El siguiente código copia uno a uno los registros que existen en la hoja
activa a continuación de los existentes en la hoja2. Puedes definir otra
hoja en la variable HojaDestino.

Inicio código
Sub Copia_A_Historico()
Dim i As Long
Dim HojaDestino As Worksheet
Dim fila As Long

Set HojaDestino = Worksheets("hoja2")

i = 2

Do While Range("A" & i) <> ""
With HojaDestino
fila = .Range("A" & .Rows.Count).End(xlUp).Row + 1
.Range("A" & fila) = Range("A" & i)
.Range("B" & fila) = Range("B" & i)
.Range("C" & fila) = Range("C" & i)
.Range("D" & fila) = Range("D" & i)
End With
i = i + 1
Loop
Set HojaDestino = Nothing

End Sub
Fin Código

Este otro lo copia directamente

Inicio código
Sub Copia_A_Historico2()
Dim i As Long
Dim HojaDestino As Worksheet
Dim fila As Long

Set HojaDestino = Worksheets("hoja2")

With HojaDestino
fila = .Range("A" & .Rows.Count).End(xlUp).Row + 1
Range("A2:D" & Range("A" & Rows.Count).End(xlUp).Row).Copy .Range("A" &
fila)
End With

End Sub
Fin Código


Un saludo,
Juan


"gongi" escribió

Hola Grupo!,

Por favor ,se pueden ir volcando, por código, los datos de una hoja
en un histórico? Es un rango " variable" ya que cada vez, el numero
de filas( registros) puede ser mayor o menor, lo que no varía son las
columnas. No puedo usar formularios o plantilla de "entrada"

Gracias por vuestra ayuda.
A1 B1 C1 D1
FACTURA NOMBRE APELLIDOS DESTINO
FI12187 XXXXX XXX EUROPA
FI12187 XXXX XXXX EUROPA
FI12219 XXX XXXX EUROPA
FI12219 XXXXXX EUROPA

Un cordial saludo!

Preguntas similares