0
我有一個工作簿4 sheets- 首先,二,三和四。我試圖在每張表格後面添加一張額外的表格來創建數據透視表。他們將被命名爲第一樞軸,第二樞軸,第三樞軸和第四樞軸。「Workbook.Sheets.Add後」 給出了 「下標越界」 的錯誤(VBA)
我能夠創建第一樞軸片,但我得到一個下標越界錯誤。我正在使用的代碼是
Function Pivotizer(FilePathAndName As String)
On Error GoTo ErrorTeller
Dim NewBook As Workbook, CurrSheet, sht As Worksheet, i, FinalCol, ColIndex As Integer, FinalRow As Long
Dim pvtCache As PivotCache, pvt As PivotTable, StartPvt, SrcData, KountOf As String
Set NewBook = Workbooks.Open(FilePathAndName)
For Each CurrSheet In NewBook.Worksheets
FinalRow = CurrSheet.Cells.Find(What:="*", After:=CurrSheet.Cells(1, 1), LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
FinalCol = CurrSheet.Cells(1, CurrSheet.Columns.Count).End(xlToLeft).Column
If CurrSheet.Name = "First" Then
NewBook.Sheets.Add After:=Worksheets(CurrSheet.Index)
NewBook.Sheets(CurrSheet.Index + 1).Name = "First Pivot"
ElseIf CurrSheet.Name = "Second" Then
NewBook.Sheets.Add After:=Worksheets(CurrSheet.Index)'<--- This is where I get the error
NewBook.Sheets(CurrSheet.Index + 1).Name = "Second Pivot"
End If
Next
Exit Function
ErrorTeller:
MsgBox Err.Description
End Function
出於某種原因,CurrSheet.Index似乎並不奏效,第二次雖然它代表了一個有效的數字(我查使用一個MsgBox)。
有人能告訴我我做錯了什麼嗎?
此代碼適用於我,直到所有現有工作表都包含一些數據。我之所以說一些數據是因爲,如果工作表中沒有數據,'.Find'將會失敗。我已經解釋了[Here](http://stackoverflow.com/questions/11169445/error-in-finding-last-used-cell-in-vba)請參閱Application.WorksheetFunction.CountA(.Cells)該鏈接中的<> 0 –