繁体   English   中英

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

[英]How can I loop my code to more than one spreadsheet in VBA macro?

我在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

对于第二个代码,我想对其进行循环,以便仅将已串联的先前信息复制到我的其他工作表中。 在此先感谢任何人:)

尝试这种方式。

    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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM