我的excel文件有多个标签。其中一个表格是"员工访问安排"另一个是" IERWAA Lookup Arranged"。这两张纸都有相同的数据(列A到J),但它们有不同的来源(这就是为什么它们在两个单独的纸张中)。标题位于第1行,行数不固定。
我有第三个标签" Master"其中我希望这两个选项卡中的数据显示为相互附加。第1行将包含标题,对于所有3张标题都是相同的。
我写了一个宏,但它只是复制标题而不是数据。
Dim Sht As Worksheet
For Each Sht In ActiveWorkbook.Worksheets
If Sht.Name = "Employee Access Arranged" Or Sht.Name = "IERWAA Lookup
Arranged" Then
Sht.Select
LastRow = Range("A6553").End(xlUp).Row
Range("A2", Cells(LastRow, "J")).Copy
Sheets("Master").Select
Range("A6553").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Else
End If
Next Sh
有人可以协助我如何使其工作从两张纸而不是标题中复制数据。此外,由于行数发生变化,我希望它能够动态地自动拾取最后一行。
请注意:这不是另一个问题的重复。我不希望只匹配两个工作表中的值,而是两个工作表中的所有值。此外,问题是独特的,因为最后一栏" J"在大多数情况下可能没有值,但仍需要复制整个列
提前谢谢。
答案 0 :(得分:0)
脏兮兮的走出我的头顶:
dim i as long, lrs as long, lrd as long
for i = 1 to sheets.count
if not sheets.name="Master" then
with sheets(i)
lrs = .cells(.rows.count,1).end(xlup).row
.range(.cells(2,"A"),.cells(lrs,"J")).copy
end with
with sheets("Master")
lrd = .cells(.rows.count,1).end(xlup).row
.cells(lrd+1,1).paste
end with
end if
next i
EDIT1:
清理代码以适用于两个指定的工作表:
Dim i As Worksheet, arr As Variant, lrs As Long, lrd As Long
arr = Array("Employee Access Arranged", "IERWAA Lookup Arranged")
For Each i In Sheets(arr)
With i
lrs = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range(.Cells(2, "A"), .Cells(lrs, "J")).Copy
End With
With Sheets("Master")
lrd = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range(.Cells(lrd + 1, "A"), .Cells(lrd + 1 + lrs, "J")).PasteSpecial xlValues
End With
Next i