我正在Excel中的宏上工作,以从2个不同部门获取数据,并将它们放在同一张工作表中以将数据用于数据透视表。运行报告时,部门会自动将数据分离到不同的工作表中。我一直遇到的问题是数据量(使用的行)总是在变化。
我已经到了工作点,在那里我可以为最后一行获取变量集,但是我无法弄清楚如何实际实现它。我可能需要从显示的内容再向下排一行。我也不知道该怎么办。这是我对附属代码的要求。任何建议都会很棒!
Sheets("30A").Select
Range("A1").Select
Range("A1:O1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With ActiveSheet
Dim lastRow30A As Long
lastRow30A = Sheet1.Range("A1048576").End(xlUp).Row
End With
Sheets("40A").Select
Range("A2:O2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
Range("lastRow30A").Select
答案 0 :(得分:1)
避免使用Select
和Activate
会使代码变慢:
With Sheets("30A")
.Range(.Cells(1, 1), .Cells(.Rows.Count, "O").End(xlUp)).Copy Sheets("Sheet1").Range("A1")
End With
Dim lastRow30A As Long
lastRow30A = Sheets("Sheet1").Cells(sheets("Sheet1").Rows.Count, 1).End(xlUp).Row
With Sheets("40A")
.Range(.Cells(1, 1), .Cells(.Rows.Count, "O").End(xlUp)).Copy Sheets("Sheet1").Cells(lastrow30, 1)
End With