Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 我试图复制和重命名工作表,但我得到的下标超出范围错误_Excel_Vba - Fatal编程技术网

Excel 我试图复制和重命名工作表,但我得到的下标超出范围错误

Excel 我试图复制和重命名工作表,但我得到的下标超出范围错误,excel,vba,Excel,Vba,我试图将Sheet2复制到Sheet3,并将其重命名为Result,但我不断收到下标超出范围的错误(发生这种情况是因为该工作表不存在,这可能意味着复制没有发生) 我尝试使用下面代码中所示的复制,但下标超出范围错误不断出现。非常感谢您对解决此问题的任何帮助。谢谢 Set shtSheet1 = Worksheets("Sheet1") Set shtSheet2 = Worksheets("Sheet2") 'trying to copy Sheet2 and creat

我试图将Sheet2复制到Sheet3,并将其重命名为Result,但我不断收到下标超出范围的错误(发生这种情况是因为该工作表不存在,这可能意味着复制没有发生)

我尝试使用下面代码中所示的复制,但下标超出范围错误不断出现。非常感谢您对解决此问题的任何帮助。谢谢

    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