我有宏代码从Input复制并粘贴一个值列表,其中记录输入到Completed,标题是相同的。
Sub a()
Sheets("ITM").Range("A1:AD1000").Copy
Sheets("ISP").Range("A1").PasteSpecial xlValues
End Sub
这适用于复制和粘贴,但是我需要对其进行调整以考虑现有的填充字段,以便旧的已完成记录不会被覆盖。
示例数据:
ITM:
用户输入数据
Header A - Header B - Header C
Ex BY TY
ISP
它记录了所有先前输入的数据,并且宏将最新ISP输入的数据添加到下一个可用行。
Request # Header A - Header B - Header C
1 XY TY ER
2 QW WE EW
3 EX BY TY
答案 0 :(得分:0)
Paste Special, values
操作可以用不涉及剪贴板的直接传输代替,并且通常更快一些。通过'考虑现有的填充字段,我会将其视为您希望将新信息放入 ISP 工作表的第一个空白行,而不是覆盖之前的记录。
Sub a()
With Sheets("ITM").Cells(1, 1).CurrentRegion
With .Offset(1, 0).Resize(.Rows.Count - 1, 30)
Sheets("ISP").Cells(Rows.Count, 1).End(xlUp) _
.Offset(1, 1).Resize(.Rows.Count, .Columns.Count) = .Value
Sheets("ISP").Cells(Rows.Count, 1).End(xlUp).Resize(.Rows.Count + 1, 1) _
.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1
End With
End With
End Sub
您没有提及任何列标题标签,因此我没有考虑它们。如果您有每次不希望带来的列标题标签,则数据范围可以向下偏移1行。