2017-10-17 79 views
0

我遇到了一個似乎很直接的問題,但無論出於何種原因,在我的代碼中給了我一個錯誤消息。我正在使用宏來創建數據透視表,並且想要重命名爲數據透視表創建的工作表。我唯一的問題是活動工作表不會重命名並顯示錯誤消息「運行時9:下標超出範圍」。代碼如下,並在最後一行出現錯誤:VBA:重命名活動工作表

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 
+0

哪條線生產運行時間9錯誤?此錯誤表示您在代碼中引用的對象在工作簿中不可用。您是否在線表格(「聲明」)中出現該錯誤?請選擇?如果是這樣,請確保名爲Statement的工作表可用。否則,您顯示的代碼的最後兩行不應該產生該錯誤。 – sktneer

+0

最後一行PivotSheet = ActiveSheet.Name是我得到錯誤的地方。它根本不會將活動工作表重命名爲PivotSheet – oryan5000

+0

將活動工作表名稱獲取到變量PivotSheet中又有什麼意義?你打算在代碼中使用它嗎?如果您只是想在添加後重命名工作表,請使用ActiveSheet.Name =「Pivot Sheet」 – sktneer

回答

3

使用工作表變量:

Dim ws As Worksheet 
Set ws = Worksheets.Add 
ws.name = "PivotSheet" 
pivotsheet = ws.Name 
+0

感謝您的回覆!然而,在做出更改 – oryan5000

+0

之後,我仍然在同一行上得到了同樣的錯誤信息,即將新工作表(它將類似於Sheet3)分配給數據透視表。是否有其他代碼丟失,可能是問題?它錯誤在哪裏?您不重命名活動工作表。 – QHarr

+0

在我上面的代碼的最後一行出錯了,因爲表格沒有被重命名。所有上面的代碼都包含在內。我如何使用變量實際重命名工作表? – oryan5000