VBA找不到我的表名

我在Excel中的这个部分的代码在VBA的过去价值从cliboard:

Dim WS as Worksheet Set WS = Sheets.Add SheetName= "New One" Sheets("New One").Range("A11").PasteSpecial xlValues 

我有这个问题: error '9' Subscript out of range 。如果我改变工作表名称像sheet19技术名称,工作好,但我不知道正在创build的工作表的技术名称。 我可以解决这个问题? 提前

更改

 SheetName= "New One" 

 WS.Name= "New One" 

您的陈述不会改变工作表的名称,只是分配一个variables。 另外,既然你在表单上有一个引用,那就是WS ,为什么不是这样,为什么又要用名字来调用它

 WS.Range("A11").PasteSpecial xlPasteValues 

用这个

  ws.Name= "New One" ws.Range("A11").PasteSpecial xlValues 

在我看来,你的范围是错误的定义。

它必须是这样的范围(Cells(x1,y1),Cells(x2,y2))

另外,如果它是在运行时构build的工作表,则可能需要使用ThisWorkbook或ActiveSheet引用。

尝试改变你的范围以上的格式,让我知道。

像这样的作品:

 Public Sub TestMe() Dim WS As Worksheet Dim SheetName As String Set WS = Sheets.Add WS.Name = "New One" WS.Range("A11") = 45 'Alternative: Worksheets(WS.Name).Range("A15") = 46 End Sub 

稍后参考WS ,或使用Worksheets(WS.Name) 。 不要使用Sheets ,因为它也指Charts ,如果你有一些。