簡體   English   中英

使用VBA將數據從一個Excel工作簿復制到另一個

[英]Copying data from one excel workbook to another using vba

我有一個正在使用的工作簿。 我需要從另一個工作簿導入數據。 第一個工作簿稱為MyBook.xls,第二個工作簿稱為protfolioData.xls。 組合數據的路徑在單元格D12中。 如何創建一個采用路徑形式D12的vbscript,並從組合數據中復制單元格A4:D26中的數據,並在MyBook.xls中創建一個newSheet。 我目前正在嘗試以下操作,當從MyBook.xls運行宏時,它將引發錯誤的名稱歧義。

    ext_file = Workbooks(mainFile).Worksheets("config").Range("D12").Value
    Workbooks(ext_file).Sheets("Sheet1").Rows("4:26").Copy _
    Workbooks(mainFile).Sheets("Sheet2").Rows("1:22")

也許嘗試以下代碼:

    Sub test()

        'Get the Path
        ext_file = ThisWorkbook.Sheets("config").Range("D12").Value

        'Get the workbook name from the path
        GetFileName = Right(ext_file, Len(ext_file) - InStrRev(ext_file, "\"))

        'open and activate the workbook
        Workbooks.Open Filename:=ext_file
        Workbooks(GetFileName).Activate

        'Add new sheet to thisworkbook ( MyBook.xls )
        With ThisWorkbook
            Set ws = .Sheets.Add(After:=.Sheets(.Sheets.Count))
        End With

        'Copy rows 4 to 26 from protfolioData.xls and paste in rows 1 to 23 in ( MyBook.xls )
        Workbooks(GetFileName).Sheets("Sheet1").Rows("4:26").Copy _
        Destination:=ws.Rows("1:23")

        'close protfolioData.xls
        Workbooks(GetFileName).Close savechanges:=False


    End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM