Saltar al contenido

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


HR2022vw

Recommended Posts

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.

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.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.