Manejo de Rangos-Range

29/05/2009 - 13:35 por gongi | Informe spam
Por favor,Hector, me ayudas a mejorar este código? . Copio una tabla
(rango columna A:E) a otra hoja para llevar un historico , pero como
hacer para:
*Que no me copie las 7 primeras filas (pues son Titulos y
Encabezados).
*Existe la posibilidad de copiar solo valores (no fórmulas).?
Muchas gracias por la ayuda.



Sub Copia_A_Historico
Dim i As Long
Dim HojaDestino As Worksheet
Dim fila As Long

Set HojaDestino = Worksheets("historico")

With HojaDestino
fila = .Range("C" & .Rows.Count).End(xlUp).Row + 1
Range("A6:I" & Range("A" & Rows.Count).End(xlUp).Row).Copy .Range
("A" & _
fila)
End With

End Sub
 

Leer las respuestas

#1 Juan M
29/05/2009 - 15:05 | Informe spam
Hola,

Si no te importa que no sea Héctor, el código lo tienes que modificar de la
siguiente manera:

Esta línea
Range("A6:I" & Range("A" & Rows.Count).End(xlUp).Row).Copy _
.Range("A" & fila)

es la que indica el rango a copiar y donde pegarlo. Aqui "A6:I" indica la
primera celda que copia hasta la última columna que copia, la fila la
calcula, entonces debes cambiarlo por "A8:E"

Para copiar solo los valores, debes indicar en una instrucción nueva que lo
pegue.

.Range("A" & fila).PasteSpecial xlPasteValuesAndNumberFormats

Aquí se pegan los valores y formatos, hay otras opciones revisa la ayuda de
PasteSpecial.

El conjunto del código sería:
Sub Copia_A_Historico()
Dim i As Long
Dim HojaDestino As Worksheet
Dim fila As Long

Set HojaDestino = Worksheets("historico")

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

.Range("A" & fila).PasteSpecial xlPasteValuesAndNumberFormats
Application.CutCopyMode = False

End With

End Sub

Un saludo,
Juan


"gongi" escribió
Por favor,Hector, me ayudas a mejorar este código? . Copio una tabla
(rango columna A:E) a otra hoja para llevar un historico , pero como
hacer para:
*Que no me copie las 7 primeras filas (pues son Titulos y
Encabezados).
*Existe la posibilidad de copiar solo valores (no fórmulas).?
Muchas gracias por la ayuda.



Sub Copia_A_Historico
Dim i As Long
Dim HojaDestino As Worksheet
Dim fila As Long

Set HojaDestino = Worksheets("historico")

With HojaDestino
fila = .Range("C" & .Rows.Count).End(xlUp).Row + 1
Range("A6:I" & Range("A" & Rows.Count).End(xlUp).Row).Copy .Range
("A" & _
fila)
End With

End Sub

Preguntas similares