【发布时间】:2021-02-10 17:33:37
【问题描述】:
我有一张名为“区域地图 1”的工作表。 我想创建一个按钮,它将为我添加名为“区域地图 2”的新工作表(复制“区域地图 1”)。 该按钮将仅添加一张纸。这意味着,如果我们需要创建更多工作表,它可以重复使用。但是,如果我使用此按钮一次,那么我在此名称下的最后一个现有工作表是“区域地图 2”。再次使用该按钮将导致错误“名称已被占用,请尝试其他名称”。
那么我应该在下面的代码中改进什么?
Sub ConsecutiveNumberSheets()
Dim ws As Worksheet
Dim i As Long
For i = 1 To Sheets.Count - (Sheets.Count - 1)
With Sheets("Area Map 1")
.Copy after:=ActiveSheet
ActiveSheet.Name = "Area Map " & (i + 1)
.Select
End With
Next i
End Sub
我想要一些东西,它会检测到已经创建了带有递增数字的新工作表。我应该怎么做才能使我的代码基于现有工作表的最后一个数字?
【问题讨论】:
-
如果您只想添加一张,为什么要循环浏览所有工作表?
-
在您创建另一个副本之前可能已经删除了以前的副本吗?所以你可能有 map1 和 Map 3 但 Map 2 被删除了,然后你想要另一个副本 - 它应该是 Map 4 还是 Map 2 ?
-
@SJR 这是其中一种方式。我还不知道如何简单地添加一张纸所以我使用了循环。