Excel 我试图复制和重命名工作表,但我得到的下标超出范围错误
我试图将Sheet2复制到Sheet3,并将其重命名为Result,但我不断收到下标超出范围的错误(发生这种情况是因为该工作表不存在,这可能意味着复制没有发生) 我尝试使用下面代码中所示的复制,但下标超出范围错误不断出现。非常感谢您对解决此问题的任何帮助。谢谢Excel 我试图复制和重命名工作表,但我得到的下标超出范围错误,excel,vba,Excel,Vba,我试图将Sheet2复制到Sheet3,并将其重命名为Result,但我不断收到下标超出范围的错误(发生这种情况是因为该工作表不存在,这可能意味着复制没有发生) 我尝试使用下面代码中所示的复制,但下标超出范围错误不断出现。非常感谢您对解决此问题的任何帮助。谢谢 Set shtSheet1 = Worksheets("Sheet1") Set shtSheet2 = Worksheets("Sheet2") 'trying to copy Sheet2 and creat
Set shtSheet1 = Worksheets("Sheet1")
Set shtSheet2 = Worksheets("Sheet2")
'trying to copy Sheet2 and create a Sheet3 tab
shtSheet2.Copy After:=Sheets("Sheet3")
Set shtSheet3 = Sheets(Sheets("Sheet3").Index + 1)
shtSheet3.Name = "Result"
复印件
在第2页之后
最后位置
我在Excel2010中尝试了这段代码,它运行良好。可能您必须在excel 2013及更高版本中试用过,其中新工作簿中的默认工作表数为1。因此,当您试图复制不存在的工作表时,可能会出现
下标超出范围的异常情况。@Arul我相信这是正确的。您知道如何在Excel 13中解决此问题吗?@vbasic208不知道您的意思。我的excel手册中只有表1和表2。这个想法是当我运行模块Sheet3(重命名为Result)时,应该自动生成get object变量或With block变量未设置。我必须在别的地方加上“结果”吗?你试过哪一个?
Sub NewSheetAfterSheet2()
Dim shtSheet2 As Worksheet
Dim shtSheet3 As Worksheet
Set shtSheet2 = Sheets("Sheet2")
shtSheet2.Copy After:=shtSheet2
Set shtSheet3 = Sheets(shtSheet2.Index + 1)
shtSheet3.Name = "Result"
End Sub
Sub NewSheetLastPosition()
Dim shtSheet2 As Worksheet
Dim shtSheet3 As Worksheet
Set shtSheet2 = Sheets("Sheet2")
shtSheet2.Copy After:=Sheets(Sheets.Count)
Set shtSheet3 = Sheets(Sheets.Count)
shtSheet3.Name = "Result"
End Sub