簡體   English   中英

將數據從一個工作簿復制到另一工作簿的最后一行

[英]Copy data from one workbook to another workbook last row

下面是我的代碼,用於將數據從一個工作簿復制到另一個工作簿,但這給了我錯誤:

下標超出范圍

同樣,此代碼也不會將數據復制到目標表的最后一行。

Sub CopyDataNEW()
    Dim sBook_t As Workbook
    Dim sBook_s As Workbook
    Dim wbPath_t As String
    Dim wbPath_s As String

    wbPath_t = "F:\TESt\DB_BA.xlsx"
    wbPath_s = "F:\TESt\PPC_BA.xlsm"

    Set sBook_s = Workbooks.Open(wbPath_s)
    Set sBook_t = Workbooks.Open(wbPath_t)

    sBook_s.Sheets("cstdata").Range("A2:EK2").Copy Destination:=sBook_t.Sheets("cstdatalist").Range("A2")
End Sub

編輯你的代碼,應該工作:

Sub CopyDataNEW()
    Dim sBook_t As Workbook
    Dim sBook_s As Workbook
    Dim wbPath_t As String
    Dim wbPath_s As String
    Dim lRow2 as Long
    'make sure file destination is correct, file name is correct, and file extension is correct here
    'you will get subscript out of range error here if these are not accurate
    wbPath_t = "F:\TESt\DB_BA.xlsx"
    wbPath_s = "F:\TESt\PPC_BA.xlsm"

    Set sBook_s = Workbooks.Open(wbPath_s)
    Set sBook_t = Workbooks.Open(wbPath_t)
    'Find last row in paste workbook
    lRow2 = sBook_t.Sheets("cstdatalist").Range("A" & sBook_t.Sheets("cstdatalist").Rows.Count).End(xlUp).Row + 1
    'copy and paste
    sBook_s.Sheets("cstdata").Range("A2:EK2").Copy
    sBook_t.Sheets("cstdatalist").Range("A" & lRow2).Paste
    'clear clip board
    Application.CutCopyMode = False
    'clear objects
    Set sBook_s = Nothing
    Set sBook_t = Nothing

End Sub

暫無
暫無

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

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