none
Macro para importar datos de una hoja1 deun libro (archivo) excel hacia una hoja2 en otro libro de excel? RRS feed

  • Pregunta

  • Saludos,

    Actualmente estoy realizando un proyecto de pasantia donde debo analizar mucha informacion. Para facilitar mi analisis, mi responsable me pidio que hiciera un Macro que sea capaz de hacer lo siguiente:

    Tengo dos archivos (libros) excel: En el libro1 tengo la hoja1 con toda la informacion que necesito, mientras que en el libro2 tengo una hoja con un boton. Al pulsar el boton, la macro debe importar toda la informacion que esta en la hoja1 del libro1 (con formato) y pegarla en la hoja donde se encuentra el boton.

    Yo modifique un codigo que encontre en la internet (ya que no soy nada experto en macros) y lo adapte a mis necesidades, sin embargo siempre obtengo un error en la ultima parte del codigo. Aqui les muestro el codigo:

    Sub test() ' Get customer workbook... Dim customerBook As Workbook Dim filter As String Dim caption As String Dim customerFilename As String Dim customerWorkbook As Workbook Dim targetWorkbook As Workbook ' make weak assumption that active workbook is the target Set targetWorkbook = Application.ActiveWorkbook ' get the customer workbook filter = "Text files (*.xlsx),*.xlsx" caption = "Please Select an input file " customerFilename = Application.GetOpenFilename(filter, , caption) Set customerWorkbook = Application.Workbooks.Open(customerFilename) ' copy data from customer to target workbook Dim targetSheet As Worksheet Set targetSheet = targetWorkbook.Worksheets(1) Dim sourceSheet As Worksheet Set sourceSheet = customerWorkbook.Worksheets(1) Workbooks("PGT.xlsx").Worksheets(1).Copy After:=Workbooks("Classeur1.xlsx").ActiveSheet

    sourceSheet.Copy After:=targetWorksheet

    Close customer workbook customerWorkbook.Close End Sub

    El problema radica en estas dos lineas:

    Workbooks("PGT.xlsx").Worksheets(1).Copy After:=Workbooks("Classeur1.xlsx").ActiveSheet
    
    sourceSheet.Copy After:=targetWorksheet

    Es que alguien puede darme una pista de que como resolver este problemita?

    Muchas gracias

    miércoles, 9 de julio de 2014 6:40

Todas las respuestas

  • Hola  esto es lo qe pides creaas un modulo donde quieres importar los datos que archivo desdeas copiar todo esto te lo pega en la primera hoja

    Dim dir As String 'decalaras
    MsgBox "Selecione Libro a Importar"
    dir = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls*), *.xls*") 'selecionas el libro
    Workbooks.Open Filename:=(dir)
    Sheets(1).Select
    MsgBox dir
    Columns("A:Z").Select
    Selection.Copy
    ActiveWorkbook.Close SaveChanges:=False
    Sheets(1).Select
    Columns("A:Z").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False

    domingo, 26 de octubre de 2014 17:28