我有7张工作簿,每张工作表都有相同的格式。我想抓住" Sheet2"从每个工作簿中将它们粘贴到单独的工作簿中的主工作表中。我已设法做到这一点,但粘贴不断覆盖最后一个粘贴。如何在最后粘贴的条目下方粘贴?
我对7张中的每一张都有这个
Sub MoveHR()
Dim x As Workbook
Dim y As Workbook
'## Open both workbooks first:
Set x = Workbooks.Open("\\ukkh1-afp-sv1o\Shared\Sales\Field Sales -
ERN\DSRs\. DSR's February 2016\HRehman February.xlsm")
Set y = Workbooks.Open("\\ukkh1-afp-sv1o\Shared\Sales\Field Sales - ERN\DSRs\Trackers\SIMPosa Tracker.xlsm")
'Now, copy what you want from x:
x.Sheets("SIMPosa").Range("A:J").Copy
'Now, paste to y worksheet:
y.Sheets("Current Month").Range("A1").PasteSpecial xlPasteValues
'Close x:
Application.CutCopyMode = False
x.Close False
y.Close True
End Sub
答案 0 :(得分:0)
尝试添加循环以查找下一个空行,如下所示:
dim i as integer
i=1
do until y.sheets("Current Month").cells(i,1).value=""
i=i+1
loop
y.Sheets("Current Month").Cells(i,1).PasteSpecial xlPasteValues
答案 1 :(得分:0)
更改此行:
y.Sheets("Current Month").Range("A1").PasteSpecial xlPasteValues
到此:
y.Sheets("Current Month").Range("A" & y.Sheets("Current Month").Rows.Count).End(xlup).Offset(1)).PasteSpecial xlPasteValues
第二行相当于转到工作表中的最后一行并点击Ctrl+Up
并找到包含数据的最后一行,然后将其偏移1行以粘贴新数据。