如何将代码循环到VBA宏中的多个电子表格?

时间:2016-06-14 14:34:24

标签: vba excel-vba loops excel

我在Macros中创建了一个仅适用于某个特定电子表格的代码。我不确定如何循环它或将其设置为与我所拥有的其他20张左右(所有在同一工作簿中)相同的东西。此外,如果重要的话,代码也仅针对特定列,例如列O和P(所有20张纸都相同)。

TestCase #1
Range("S2").Value = "1. " & Range("J2").Value & vbNewLine & vbNewLine & "2. " & Range("J3").Value & vbNewLine & vbNewLine & "3. " & Range("J4").Value & vbNewLine & vbNewLine & "4. " & Range("J5")
Range("T2").Value = "1. " & Range("K2").Value & vbNewLine & vbNewLine & "2. " & Range("K3").Value & vbNewLine & vbNewLine & "3. " & Range("K4").Value & vbNewLine & vbNewLine & "4. " & Range("K5")

因此,对于上面的代码,它在不同的工作表之间有所不同(这是我需要为所有20个工作表循环的代码)TestCase1或Sheet1有5行,但其他代码可能会增加到数百行。我想知道如何为它集成计数和循环。

' TestCase #1
Sheets(2).Select
Range("S2").Copy
Sheets(1).Select
Range("O2").Select
ActiveSheet.Paste
Sheets(2).Select
Range("T2").Copy
Sheets(1).Select
Range("P2").Select
ActiveSheet.Paste

对于第二个代码,我想循环它,以便它只是将以前连接的信息复制到我的其他工作表上。在此先感谢任何人:)

1 个答案:

答案 0 :(得分:0)

以这种方式试试。

    Sub WorksheetLoop()

                 Dim WS_Count As Integer
                 Dim I As Integer

                 ' Set WS_Count equal to the number of worksheets in the active
                 ' workbook.
                 WS_Count = ActiveWorkbook.Worksheets.Count

                 ' Begin the loop.
                 For I = 1 To WS_Count

                    ' Insert your code here.
                    ' The following line shows how to reference a sheet within
                    ' the loop by displaying the worksheet name in a dialog box.
                    MsgBox ActiveWorkbook.Worksheets(I).Name

                 Next I

    End Sub