Macro para copiar y pegar en vba de excel

Necesito ayuda con lo siguiente necesito un macro que me pueda copiar datos de una hoja llamada planeación y pegue en otra llamada op de manera acumulativa me urge ya que depende deeso mi trabajo hasta ahora tengo el siguiente código pero no logro hacer que el oprimir un botón me copie en la hoja op los datos que necesito según los encabezados esta información la obtengo de la hoja planeación adjunto el código que tengo en espera me puedan ayudar

Sub Macro1()
'
' Macro1 Macro
'
'
  Dim HojaOrigen As Worksheet, HojaDestino As Worksheet
   Set HojaOrigen = Sheets("PLANEACION")
   Set HojaDestino = Sheets("OP")
   HojaOrigen.Cells(6, 2).Copy
   ActiveSheet.Paste HojaDestino.Cells(3, 1)
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SKIPBLANKS _
        :=False, Transpose:=False
    Selection.Copy
    Sheets("OP").Select
    Range("A3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SKIPBLANKS _
        :=False, Transpose:=False
    Selection.Copy
    Sheets("OP").Select
    Range("A3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SKIPBLANKS _
        :=False, Transpose:=False
    Sheets("PLANEACION").Select
    Range("A9:A20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("OP").Select
    Range("B3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SKIPBLANKS _
        :=False, Transpose:=False
    Sheets("PLANEACION").Select
    Range("B9:B20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("OP").Select
    Range("C3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SKIPBLANKS _
        :=False, Transpose:=False
    Sheets("PLANEACION").Select
    Range("C9:C20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("OP").Select
    Range("D3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SKIPBLANKS _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=0
    Sheets("PLANEACION").Select
    Range("E9:E20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("OP").Select
    Range("E3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SKIPBLANKS _
        :=False, Transpose:=False
    Sheets("PLANEACION").Select
    Range("F9:F20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("OP").Select
    Range("F3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SKIPBLANKS _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=0
    Sheets("PLANEACION").Select
    Range("G9:G20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("OP").Select
    Range("G3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SKIPBLANKS _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=0
    Sheets("PLANEACION").Select
    Range("I9:I20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("OP").Select
    Range("H3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SKIPBLANKS _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=8
    Sheets("PLANEACION").Select
    Range("J9:J20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("OP").Select
    ActiveWindow.SmallScroll Down:=-8
    Range("I3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SKIPBLANKS _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=8
    Sheets("PLANEACION").Select
    Range("K9:K20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("OP").Select
    ActiveWindow.SmallScroll Down:=-8
    Range("J3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SKIPBLANKS _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=0
    Sheets("PLANEACION").Select
    Range("L9:L20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("OP").Select
    Range("K3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SKIPBLANKS _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=0
    Dim UltLinea As Long
UltLinea = Range("A" & Rows.Count).End(xlUp).Row
Range("A65536").End(xlUp).Offset(1, 0).Select
Sheets("OP).Range("A3:K3").Copy
Sheets("HISTORICO").Activate
ActiveSheet.Range(Cells(Application.WorksheetFunction.CountA(Sheets("HISTORICO").Range("a:a")) + 1, 1).Address).Activate
ActiveCell.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, Transpose:=False, SKIPBLANKS:=False
Application.CutCopyMode = False
Sheets("NUEVO").Activate
End Sub

1 Respuesta

Respuesta
1

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("Origen")
Set wsDestino = Worksheets("Destino")

'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)

'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 xlPasteValues
Application.CutCopyMode = False

End Sub

Gracias sin embargo aun necesito que el programa avance una fila y baya guardando los requisitos. Me podrías ayudar con esto ya que no conozco de programación

Ahí esta usa esta macro

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("Origen")
Set wsDestino = Worksheets("Destino")

'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)

'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
ActiveSheet.destino.Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Activate
rngDestino.PasteSpecial xlPasteValues
Application.CutCopyMode = False

End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas