我用谷歌搜索了这个,但找不到明确的答案。
我有一个包含大量工作表的工作簿,每个工作表都包含采购订单信息。 我想从每个工作表复制相同的单元格范围,并编译所有这些范围的长列表。
我的代码目前;
Sub WorksheetLoop()
Sheets("5040001253").Select
Range("A4:O23").Select
Selection.Copy
Sheets("PO_Combi").Select
lastRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
ActiveSheet.Range("A" & lastRow + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
我的问题是:是否有一个简单的命令允许替换名为5040001253的工作表,这将使所有工作表上的宏重复?如果没有,有人可以告诉我该怎么做才能做到这一点?
答案 0 :(得分:1)
下一个代码将Range("A4:O23")
从每个工作表(PO_Combi
除外)复制到工作表A
的第PO_Combi
列:
Sub WorksheetLoop()
Dim sh As Worksheet
Dim shCombi As Worksheet
Dim lastrow As Long
Set shCombi = ThisWorkbook.Worksheets("PO_Combi")
For Each sh In ThisWorkbook.Worksheets
With shCombi
If sh.Name <> .Name Then
lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
sh.Range("A4:O23").Copy
.Range("A" & lastrow + 1).PasteSpecial xlPasteValues
End If
End With
Next
Application.CutCopyMode = False
End Sub