1

从 2001 年到 2012 年,我每季度使用 VBA 创建一个工作表,代码如下:

For Y = 2001 To 2012
    For M = 1 To 4 Step

    s = Str(Y) & "_" & Str(M)
    Sheets.Add.Name = s

   Next M
Next Y

所以我的工作簿中有一些工作表看起来像: 2012_4, 2012_3, 2012_2, ... , 2001_2, 2001_1 (它们按此顺序排列)。

在我的所有程序中,我都是按它们的名字来处理这些工作表的。但是还有其他方法可以使用他们的订单吗?是否有“第一张”和“最后一张”表?

谢谢!

4

1 回答 1

2
Sub testing()
    Dim ws As Worksheet
    Set ws = Worksheets("Sheet1")
    Dim newWs As Worksheet
    ws.Copy after:=Worksheets("Sheet1") ' you can use before:= or after:= a worksheet
    Set newWs = ActiveSheet
    newWs.Name = "Sheet1 Copy" ' renaming any sheet
End Sub

Sub loopingSheets()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        Debug.Print ws.Name
    Next ws
End Sub
于 2012-10-11T09:56:54.000 回答