Simples在Excel中重复宏

时间:2014-01-31 11:18:11

标签: excel vba excel-vba repeat

我用谷歌搜索了这个,但找不到明确的答案。

我有一个包含大量工作表的工作簿,每个工作表都包含采购订单信息。 我想从每个工作表复制相同的单元格范围,并编译所有这些范围的长列表。

我的代码目前;

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的工作表,这将使所有工作表上的宏重复?如果没有,有人可以告诉我该怎么做才能做到这一点?

1 个答案:

答案 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