Copiar rango de celdas manteniendo alto y ancho

Estoy necesitando una macro para copiar un rango de celdas y pegue solo valores y formatos, y lo más importante es que mantenga el ancho de columnas y alto de filas de la hoja de origen.

El rango de origen es:"A1:BW165" y se pega en la hoja destino a partir de la celda "A1" manteniendo las condiciones expresadas en el párrafo anterior.

Respuesta
1

1 respuesta más de otro experto

Respuesta
1

Intente con esta macro, es para el rango fijo que menciona, actualiza el nombre de las hojas origen y destino

Sub copiar()
    Range("A1:BW7").Select
    Selection.Copy
    Sheets("Hoja2").Select
    Range("A1:BW7").Select
    ActiveSheet.Paste
    Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Sheets("Hoja1").Select
    Application.CutCopyMode = False
    Sheets("Hoja1").Select
    Rows("1:7").Select
    Selection.Copy
    Sheets("Hoja2").Select
    Rows("1:7").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("A1").Select
    Sheets("Hoja1").Select
    Range("A1").Select
End Sub

Hola Tor Cheer, trate de adaptar la macro que me enviaste a la que yo tenia y se me traba donde esta resaltado en negrita, algo estoy haciendo mal seguramente, te la copio para ver si podes ayudarme, mil gracias

Sub CopiarCeldas()
'Definir objetos a utilizar
Dim wbDestino As Workbook, _
    wsOrigen As Excel.Worksheet, _
    wsDestino As Excel.Worksheet, _
    rngOrigen As Excel.Range, _
    rngDestino As Excel.Range
'Indicar el libro de Excel destino
Set wbDestino = Workbooks.Open(ActiveWorkbook.Path & "\Libro1.xlsx")
'Activar este libro
ThisWorkbook.Activate
'Indicar las hojas de origen y destino
Set wsOrigen = Worksheets("Diario")
Set wsDestino = wbDestino.Worksheets("Info")
'Indicar la celda de origen y destino
Const celdaOrigen = "A1"
Const celdaDestino = "A1"
'Inicializar los rangos de origen y destino
Set rngOrigen = wsOrigen.Range("A1:BW165")
Set rngDestino = wsDestino.Range("A1:BW165")
'Seleccionar rango de celdas origen
rngOrigen.Select
Selection.Copy
'Pegar datos en celda destino
rngDestino.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    rngOrigen.Select
    Application.CutCopyMode = False
    wsOrigen.Select
    Rows("1:165").Select
    Selection.Copy
    wsDestino.Select
    Rows("1:165").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("A1").Select
    rngOrigen.Select
    Range("A1").Select
End Sub

Puede enviar una copia de su archivo para buscar el problema

[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas