Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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
VBA:重命名活动图纸_Vba_Excel - Fatal编程技术网

VBA:重命名活动图纸

VBA:重命名活动图纸,vba,excel,Vba,Excel,我遇到了一个看似直截了当的问题,但不管出于什么原因,它在我的代码中给了我一条错误消息。我正在使用宏创建透视表,并希望重命名为透视表创建的工作表。我唯一的问题是活动工作表不会重命名,并且给出了错误消息“运行时9:下标超出范围”。代码如下,错误发生在最后一行: Sub Macro24() Dim VendorData As String Dim Lastrow As Long Dim PivotSheet As String Sheets("Statement").Select Lastrow

我遇到了一个看似直截了当的问题,但不管出于什么原因,它在我的代码中给了我一条错误消息。我正在使用宏创建透视表,并希望重命名为透视表创建的工作表。我唯一的问题是活动工作表不会重命名,并且给出了错误消息“运行时9:下标超出范围”。代码如下,错误发生在最后一行:

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在代码的后面创建透视表。除非有另一种方法不涉及创建您知道的变量,否则我无法消化,为什么最后一行会出现错误。实际代码与描述中显示的代码类似吗?