Hola a todos, gracias por leerme
necesito un poco de ayuda, quiero copiar y pegar de un libro de excel a otro
Tengo dos posibilidades (me gustaría que me ayudarais con las dos)
1º Directamente copiar y pegar la hoja
Desde libroActivo, busco el nuevo libro y copio la hoja que quiero
2ºCopiar y pegar las celdas que están llenas
Desde librosActivo, busco en el nuevo libro las celdas rellenas y las pego
en las celdas normales. Esto sí me sale, pero sólo hasta el registro 540, no
entiendo el porqué, además me dice que no es el mismo rango en el paso 2.1 y
el 2.2 cuando yo he dado "ultimafila" como una variable que obtengo y sí
debería serlo, os pongo el código y si podéis ayudarme os lo agradeceré
Sub CommandButton1_Click()
Dim MiExcel As Excel.Application
Dim LibroOrigen As Excel.Workbook
Dim HojaOrigen As Excel.Worksheet
Dim i As Long, j As Long
Dim RutaDeBusqueda As String
Dim Ultimafila As Long
'Paso 0
Set MiExcel = New Excel.Application
MiExcel.Visible = False
MiExcel.Workbooks.Close
RutaDeBusqueda = SeleccionarArchivo 'una pequeña función que permite
abrir el archivo
' Paso 1: Abrir el libro
MiExcel.Workbooks.Open Filename:=RutaDeBusqueda,
ReadOnly:=True
Set LibroOrigen = MiExcel.Workbooks(1)
' Paso 2.1: Copiar el rango
Set HojaOrigen = LibroOrigen.Worksheets(1)
Ultimafila = (HojaOrigen.Cells.SpecialCells(xlLastCell).Row)
'otras formarse de averiguar la última celda rellena: '[a1].End(xlDown).Row
'[a1].End(xlDown).Address
'MsgBox Ultimafila
HojaOrigen.Range(Cells(1, 1), Cells(Ultimafila, 7)).Copy
' Paso 2.2: Pegar el rango Opción 1
Hoja1.Range("A1:i" & Ultimafila)
'Paso 2.2: Pegar el rango Opción 1
'Hoja1.Cells(1, 1).Select
'Hoja1.Paste
' Paso 3: Cerrar el libro
LibroOrigen.Close SaveChanges:=False
Set HojaOrigen = Nothing
Set LibroOrigen = Nothing
MiExcel.Quit
Set MiExcel = Nothing
End Sub
un saludo y gracias
Leer las respuestas