且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何打开工作簿,复制数据并添加到另一工作簿的最后一行?

更新时间:2023-12-05 16:59:04

适应第5个变量,并尝试以下代码:

Adapt the 5th vars and try this code :

Option Explicit
Sub test()

Application.DisplayAlerts = False
Dim wb As Workbook
Set wb = ThisWorkbook

'*******************************************
'Adapt this vars

Dim path_wbToOpen As String
Dim myRange As String
Dim sheet_opened As String
Dim ws_final As Worksheet
Dim lastRow As Integer

path_wbToOpen = "C:\test\test.xlsx" 'path of workbook where is the data
myRange = "A1:D1" 'Range to cpy
sheet_opened = "sheet_opened" 'name in opened WB where is sheet data
Set ws_final = wb.Sheets("sh_test") 'Sheet in current WB to paste data
lastRow = ws_final.Range("A" & Rows.Count).End(xlUp).Row + 1 ' set the last row (adapt column to check last row)


'*******************************************

'open another workbook from current one
Dim wbToOpen As Workbook
Set wbToOpen = Workbooks.Open(path_wbToOpen)

'Copy Data from opened WB
wbToOpen.Sheets(sheet_opened).Range(myRange).Copy 'Copy the data

'current WB
ws_final.Range("a" & lastRow).PasteSpecial ' past to the last row

'Clear Data and close WB
wbToOpen.Sheets(sheet_opened).Range(myRange).Clear 'Clear Data
wbToOpen.Close 'close WB

Application.DisplayAlerts = True

End Sub