我正在尝试获取由复制操作创建的工作表的句柄。以下代码用于工作:
Dim wsTempl As Worksheet, pageCount as Long
Set wsTempl = Sheets("Template")
For pageCount = 1 To 5
wsTempl.Copy After:=Sheets(Sheets.Count)
Set ws = Sheets(Sheets.Count)
ws.Name = "p" & pageCount
Next
但是在将VeryHidden工作表添加到工作簿时停止了。现在我的表格(Sheets.Count)正在获取VeryHidden表格而不是我最后添加的表格。
当然我可以用
Set ws = Sheets(wsTempl.Name & " (2)")
ws.Name = "p" & pageCount
但这看起来很难看,这真的是唯一的方法吗?有人可以想到另一种方式吗?
复制问题:
原因似乎是Copy After:=不会在VeryHidden Sheets之后复制,因此重命名工作表的部分代码总是重命名VeryHidden Sheet
答案 0 :(得分:4)
工作表的复制方法使新创建的工作表处于活动状态,因此您应该可以执行此操作。
Dim wsTempl As Worksheet, i as int
Set wsTempl = Sheets("Template")
For i = 1 To 5
wsTempl.Copy After:=Sheets(Sheets.Count)
Set ws = ThisWorkbook.ActiveSheet
ws.Name = "p" & pageCount
Next