Saltar al contenido

File Dialog para copiar y pegar info de un libro a otro.

publicado

Buenas tardes, hice este código en VBA, consiste en abrir un dialogo para seleccionar un archivo, después copiar la info de la tabla que va de "C6" a "K" la fila K varía a veces más o menos filas ocupadas... después pegar la info en una tabla de otro libro, de igual manera empezando en "C6" o en la última fila que se encuentre texto o información.

El problema es que copia y pega todo el rango que puse, "C6:K125" inclusive las filas vacías y después al querer pegar en la ultima fila, aparece el error '1004 en la línea resaltada del código, creo que este ultimo está mal hecho.

 

Alguien sabe como arreglarlo?

_____________________________________________________________________________________________________________

Sub Prueba_Ytb_2()
    Dim FileToOpen As Variant
    Dim OpenBook As Workbook
   Application.ScreenUpdating = False
   FileToOpen = Application.GetOpenFilename(Title:="Seleccionar archivo", FileFilter:="Excel Files(*.xls*),*xls*")
   If FileToOpen <> False Then
    Set OpenBook = Application.Workbooks.Open(FileToOpen)
    OpenBook.Sheets(7).Range("C6:K125").Copy
    ThisWorkbook.Worksheets("Hoja1").Range("C6" & Rows.Count).End(xlUp).Row.PasteSpecial xlPasteValues
    OpenBook.Close True
    
   End If
   Application.ScreenUpdating = True
End Sub

___________________________________________________________________________________________________________________________

Muchas gracias.

Featured Replies

publicado

Prueba a ver si es esto lo que buscas:

Sub Prueba_Ytb_2()
   Dim FileToOpen As Variant
   Dim OpenBook As Workbook
   Application.ScreenUpdating = False
   FileToOpen = Application.GetOpenFilename(Title:="Seleccionar archivo", FileFilter:="Excel Files(*.xls*),*xls*")
   If FileToOpen <> False Then
      Set OpenBook = Application.Workbooks.Open(FileToOpen)
      OpenBook.Sheets(7).Range("C6:K" & OpenBook.Sheets(7).Range("C" & Rows.count).End(xlUp).Row).Copy
      ThisWorkbook.Worksheets("Hoja1").Range("C" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues
      OpenBook.Close    
   End If
   Application.ScreenUpdating = True
End Sub

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.