我的问题是关于将活动工作簿中的excel数据附加到主文件VBA代码帮助请求的底部



我正试图将MaxWB中的数据附加到MasterWB中数据的底部。

我可以复制日期,打开下一个文件,但当我试图找到最后一行并添加一行或偏移1乘一行时,我的代码出现了错误。

我相信我的粘贴特辑也有错误,但我可以通过偏移量进行测试。

我对VBA很陌生,但很喜欢!这是我的代码:

Sub Append()
Dim MaxWB As Workbook
Dim MasterWB As Workbook
Dim path As String
Dim Filename As String
Dim Lastrow As Long
Dim Rng As Range
Set MaxWB = ActiveWorkbook
Sheets("Final Export FTP").Select
Range("A1:E1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Set MasterWB = Workbooks.Open("C:Userska20839DesktopDatabase336116001.csv")
Set MasterWB = ActiveWorkbook
Sheets("ONParamfile").Select
Range("A1").Select
With Worksheets("ONParamfile")
Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
Set Rng = .Range("A" & Lastrow)
End With
'destCell appends I tried and failed to figure out
'Range(Selection, Selection.End(xlDown)).Select.Offset (1) '.Select

' paste throwing an error too
' .Range("A" & Lastrow + 1).PasteSpecial Paste:=xlPasteValues
'save master file
MasterWB.Close SaveChanges:=True

End Sub

尽量避免选择对象:

Sub Append()
Dim wkbSource As Workbook, wkbTarget As Workbook
Dim lngLastRowSource As Long, lngLastRowTarget As Long

Set wkbSource = ActiveWorkbook
With Worksheets("Final Export FTP")
lngLastRowSource = .Cells(.Rows.Count, "A").End(xlUp).Row
End With

Set wkbTarget = Workbooks.Open("C:Userska20839DesktopDatabase336116001.csv")
With Worksheets("ONParamfile")
lngLastRowTarget = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
End With

wkbSource.Worksheets("Final Export FTP").Range("A1:E" & lngLastRowSource).Copy _
wkbTarget.Worksheets("ONParamfile").Range("A" & lngLastRowTarget)
End Sub

最新更新