
Copiar celdas de un libro a otro con tabla
Publicado por Rodolfo (1 intervención) el 14/01/2016 15:04:28
Hola a todos, quiero resolver algunas dudas de cómo copiar celdas de un libro a otro.
1.- El libro de destino tiene una tabla y requiero que los datos pegados sean añadidos a esta.
2.- En el libro de origen tengo 5 filas en las cuales en la primera columna están los números 1 al 5 (estos se llenan con otra macro) y quiero que copie ciertas celdas dependiendo si están estos valores en la primera columna
3.-Modificar la macro de forma tal de que si el libro de destino ya está abierto no lo intente abrir de nuevo
He estado trabajando con esta macro y creo que es la más conveniente, me ha funcionado, pero solo poniendo rangos de celda directamente
1.- El libro de destino tiene una tabla y requiero que los datos pegados sean añadidos a esta.
2.- En el libro de origen tengo 5 filas en las cuales en la primera columna están los números 1 al 5 (estos se llenan con otra macro) y quiero que copie ciertas celdas dependiendo si están estos valores en la primera columna
3.-Modificar la macro de forma tal de que si el libro de destino ya está abierto no lo intente abrir de nuevo
He estado trabajando con esta macro y creo que es la más conveniente, me ha funcionado, pero solo poniendo rangos de celda directamente
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Sub CopiarCeldas()
'Esta macro permite copiar celdas desde Solicitud 2016 hacia INGRESO MUESTRAS 2016
'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 & "\IMUESTRAS16.xlsm")
'Activar este libro
ThisWorkbook.Activate
'Indicar las hojas de origen y destino
Set wsOrigen = Worksheets("Matriz")
Set wsDestino = wbDestino.Worksheets("INGRESO MUESTRAS")
'Indicar la celda de origen y destino
Const celdaOrigen = "A2:S6"
'Const celdaDestino = última fila de tabla
'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
'Guardar y cerrar el libro de Excel destino
wbDestino.Save
wbDestino.Close
End Sub
Valora esta pregunta


0