Copiar datos de una hoja a otra

Tengo una hoja en la cual copio unos datos que se extraen de un programa de inventario, a esta ya logre quitarle las columnas que no voy a utilizar y los datos que quedan los copio a una hoja llamada entradas, hata allí todo marcha bien con la ayuda de uno de los códigos que tu colocaste lo hace perfecto, el inconveniente esta en que cuando tengo nuevos datos y corro la macro para que anexe los nuevos a la hoja entradas esta lo hace pero me pega también los encabezados me puedes ayudar con esto la verdad estoy perdido en el tema. Te copio el código el cual he tomado de todas partes para lograrlo.

Sub CopiarCeldas()
'Definir objetos a utilizar
Dim wsOrigen As Excel.Worksheet, _
    wsDestino As Excel.Worksheet, _
    rngOrigen As Excel.Range, _
    rngDestino As Excel.Range
'Indicar las hojas de origen y destino
Set wsOrigen = Worksheets("Copia")
Set wsDestino = Worksheets("Entradas")
'Indicar la celda de origen y destino
Const celdaOrigen = "A1"
Const celdaDestino = "A1"
'Inicializar los rangos de origen y destino
Set rngOrigen = wsOrigen.Range(celdaOrigen)
'Set rngDestino = wsDestino.Range(celdaDestino)
u = wsDestino.Range("A" & Rows.Count).End(xlUp).Row + 1
Set rngDestino = wsDestino.Range("A" & u)
'Seleccionar rango de celdas origen
rngOrigen.Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Pegar datos en celda destino
rngDestino.PasteSpecial xlPasteAll
Application.CutCopyMode = False
End Sub

1 Respuesta

Respuesta
1

H o l a:

Para que no se copien los encabezados tienes que modificar esta línea de la macro

Const celdaOrigen = "A1"

Si los encabezados están en la fila 1, entonces debe quedar así:

Const celdaOrigen = "A2"

Si los encabezados están en la fila 2, entonces hay que empezar a copiar a partir de la fila 3, entonces quedaría así:

Const celdaOrigen = "A3"

Hola dante gracias por la respuesta lo hice así como dices y realizo el pegado sin el encabezado pero hay un problema no copia todo el rango seleccionado esto sucede cuando cambio la constante para que tome desde A2, solo me copia las primeras 11 columnas de las 16 que tengo.

Adjunto el código gracias.

Sub Botón1_Haga_clic_en()
Sheets("Copia").Select
Range("a1").Select
Selection.EntireColumn.Delete
Range("c1").Select
Selection.EntireColumn.Delete
Range("c1").Select
Selection.EntireColumn.Delete
Range("c1").Select
Selection.EntireColumn.Delete
Range("c1").Select
Selection.EntireColumn.Delete
Range("d1").Select
Selection.EntireColumn.Delete
Range("e1").Select
Selection.EntireColumn.Delete
Range("k1").Select
Selection.EntireColumn.Delete
Range("n1").Select
Selection.EntireColumn.Delete
Range("n1").Select
Selection.EntireColumn.Delete
Range("n1").Select
Selection.EntireColumn.Delete
Range("p1").Select
Selection.EntireColumn.Delete
Range("r1").Select
Selection.EntireColumn.Delete
Range("r1").Select
Selection.EntireColumn.Delete
Range("r1").Select
Selection.EntireColumn.Delete
Range("t1").Select
Selection.EntireColumn.Delete
Range("h1").Select
Selection.EntireColumn.Delete
Range("h1").Select
Selection.EntireColumn.Delete
Range("h1").Select
Selection.EntireColumn.Delete
CopiarCeldas
End Sub
Sub CopiarCeldas()
'Definir objetos a utilizar
Dim wsOrigen As Excel.Worksheet, _
    wsDestino As Excel.Worksheet, _
    rngOrigen As Excel.Range, _
    rngDestino As Excel.Range
'Indicar las hojas de origen y destino
Set wsOrigen = Worksheets("Copia")
Set wsDestino = Worksheets("Entradas")
'Indicar la celda de origen y destino
Const celdaOrigen = "A1"
Const celdaDestino = "A1"
'Inicializar los rangos de origen y destino
Set rngOrigen = wsOrigen.Range(celdaOrigen)
'Set rngDestino = wsDestino.Range(celdaDestino)
u = wsDestino.Range("A" & Rows.Count).End(xlUp).Row + 1
Set rngDestino = wsDestino.Range("A" & u)
'Seleccionar rango de celdas origen
rngOrigen.Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Pegar datos en celda destino
rngDestino.PasteSpecial xlPasteAll
Application.CutCopyMode = False
End Sub

Esa macro que seleccionaste tiene algunas limitaciones, mejor utiliza esta macro:

Sub CopiarCeldas()
'Por.Dante Amor
    Set h1 = Sheets("Copia")
    Set h2 = Sheets("Entradas")
    uf = h1.Range("A" & Rows.Count).End(xlUp).Row
    uc = h1.Cells(1, Columns.Count).End(xlToLeft).Column
    u = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
    h1.Range(h1.Cells(2, 1), h1.Cells(uf, uc)).Copy h2.Range("A" & u)
End Sub

¡Gracias! 

Dante funciono de maravilla, gracias por el tiempo y por tu ayuda.

Si no tienes más dudas, recuerda cambiar la valoración a la respuesta.

Dante disculpa la ignorancia donde cambio la valoración de la pregunta no encuentro como hacerlo

Al final de mi respuesta, aparece un botón con el texto "Votada", presiona ese botón y te aparece otro con el texto "Cambiar Votación"

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas