下标超出范围VBA错误

下标超出范围VBA错误,vba,excel,Vba,Excel,我是vba新手。我正在尝试将标题行从一张图纸复制到新创建的另一张图纸。尝试选择新工作表时出现超出范围的错误。下面是我正在使用的代码 With Sheets("Details Master") Dim ws1 As Worksheet Dim ws2 As Worksheet Dim rngsource As Range Dim rngDest As Range Set ws1 = Sheets("Details Master") 'She

我是vba新手。我正在尝试将标题行从一张图纸复制到新创建的另一张图纸。尝试选择新工作表时出现超出范围的错误。下面是我正在使用的代码

With Sheets("Details Master")
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Dim rngsource As Range
    Dim rngDest As Range    

    Set ws1 = Sheets("Details Master")
    'Sheets("Details Master").Select
    Set rngsource = ws1.Range("B2:L2")
    rngsource.Copy
   End With
With Sheets("Sh_name")  **'Error on this line**
   Set ws2 = Sheets("Sh_name") 'Sh_name is newly created sheet name
   Set rngDest = ws2.Range("B2:L2")

    rngDest.PasteSpecial
End With

知道可能是什么问题吗。

正如@Storax和@ashleedawg所评论的,您未能添加新工作表

使用此基本代码时,请将新工作表名称从“Temp”更改为您希望的工作表名称。还要确保目标行中的名称相同

With ThisWorkbook
    Sheets.Add(After:=Sheets(Sheets.Count)).Name = "Temp"
    Sheets("Details Master").Range("B2:L2").Copy Destination:=Sheets("Temp").Range("B2")
End With

我运行了你的代码,没有问题。vb编辑器中的代码在哪里?在工作表中还是在模块中?如果在modeul中,您可以这样做,但是如果在特定的工作表中,您需要明确说明每张工作表的位置。也不要尝试复制/粘贴,而只告诉数据要去哪里如果您在
工作表(“Sh_name”)
上获得的下标超出范围,则不存在名为
Sh_name
的工作表。结尾是否有空白?带工作表的
行(“Sh_name”)
和后面的
行没有任何作用,应该删除。如果没有指定名称的现有工作表,则下一行(
Set ws2=Sheets(“Sh_name”)
)仍会出现错误。如您的注释所示,您的代码不会新创建任何工作表。