VBA:重命名活动图纸
我遇到了一个看似直截了当的问题,但不管出于什么原因,它在我的代码中给了我一条错误消息。我正在使用宏创建透视表,并希望重命名为透视表创建的工作表。我唯一的问题是活动工作表不会重命名,并且给出了错误消息“运行时9:下标超出范围”。代码如下,错误发生在最后一行:VBA:重命名活动图纸,vba,excel,Vba,Excel,我遇到了一个看似直截了当的问题,但不管出于什么原因,它在我的代码中给了我一条错误消息。我正在使用宏创建透视表,并希望重命名为透视表创建的工作表。我唯一的问题是活动工作表不会重命名,并且给出了错误消息“运行时9:下标超出范围”。代码如下,错误发生在最后一行: Sub Macro24() Dim VendorData As String Dim Lastrow As Long Dim PivotSheet As String Sheets("Statement").Select Lastrow
Sub Macro24()
Dim VendorData As String
Dim Lastrow As Long
Dim PivotSheet As String
Sheets("Statement").Select
Lastrow = Cells(Rows.Count, "A").End(xlUp).Row
Sheets("Statement").Select
ActiveWorkbook.Names.Add Name:="VendorData", RefersTo:= _
"=Statement!$A$4:$C$" & Lastrow
Sheets.Add
PivotSheet = ActiveSheet.Name
使用工作表变量:
Dim ws As Worksheet
Set ws = Worksheets.Add
ws.name = "PivotSheet"
pivotsheet = ws.Name
使用工作表变量:
Dim ws As Worksheet
Set ws = Worksheets.Add
ws.name = "PivotSheet"
pivotsheet = ws.Name
谢谢回复!但是,在进行更改后,我仍然在同一行上收到相同的错误消息您正在将新的工作表(类似于Sheet3)分配给数据透视表。是否缺少其他可能是问题所在的代码?它在哪一行出错?您没有重命名活动工作表。由于工作表未重命名,因此在上面代码的最后一行出错。上面的所有代码都包括在内。如何使用变量重命名工作表?代码中没有重命名工作表,而是将新工作表的名称放入名为pivotsheet的变量中。这对我来说毫无问题@oryan5000@oryan5000认真考虑史葛的建议,并保持对添加的工作表对象引用的引用,并对其进行处理,而不是假设<代码>活动表< /代码>是什么。这迟早会咬到你的屁股。谢谢你的回复!但是,在进行更改后,我仍然在同一行上收到相同的错误消息您正在将新的工作表(类似于Sheet3)分配给数据透视表。是否缺少其他可能是问题所在的代码?它在哪一行出错?您没有重命名活动工作表。由于工作表未重命名,因此在上面代码的最后一行出错。上面的所有代码都包括在内。如何使用变量重命名工作表?代码中没有重命名工作表,而是将新工作表的名称放入名为pivotsheet的变量中。这对我来说毫无问题@oryan5000@oryan5000认真考虑史葛的建议,并保持对添加的工作表对象引用的引用,并对其进行处理,而不是假设<代码>活动表< /代码>是什么。这迟早会在后端影响您。哪一行产生运行时9错误?此错误表示代码中引用的对象在工作簿中不可用。行表(“语句”)是否出现错误。选择?如果是,请确保名为Statement的工作表可用。否则,您显示的代码的最后两行不应该产生该错误。最后一行PivotSheet=ActiveSheet.Name是我得到错误的地方。它只是没有将活动工作表重命名为PivotSheet。将活动工作表的名称放入变量PivotSheet有什么意义?你以后会在代码中使用它吗?如果您只想在添加工作表后重命名它,只需使用ActiveSheet.Name=“Pivot sheet”是,我将使用变量;e在代码的后面创建透视表。除非有另一种方法不涉及创建您知道的变量,否则我无法消化,为什么最后一行会出现错误。实际代码与描述中显示的代码类似吗?哪一行产生运行时9错误?此错误表示代码中引用的对象在工作簿中不可用。行表(“语句”)是否出现错误。选择?如果是,请确保名为Statement的工作表可用。否则,您显示的代码的最后两行不应该产生该错误。最后一行PivotSheet=ActiveSheet.Name是我得到错误的地方。它只是没有将活动工作表重命名为PivotSheet。将活动工作表的名称放入变量PivotSheet有什么意义?你以后会在代码中使用它吗?如果您只想在添加工作表后重命名它,只需使用ActiveSheet.Name=“Pivot sheet”是,我将使用变量;e在代码的后面创建透视表。除非有另一种方法不涉及创建您知道的变量,否则我无法消化,为什么最后一行会出现错误。实际代码与描述中显示的代码类似吗?