使用VBA在工作簿中创建工作表

时间:2012-10-11 09:19:36

标签: excel vba excel-vba

我从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(它们按顺序排列)。

在我的所有程序中,我都是通过他们的名字来处理这些表格。但是还有其他方式使用他们的订单吗?有“第一张”和“最后一张”吗?

谢谢!

1 个答案:

答案 0 :(得分: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