VBAで「ピボットテーブルが使用できる個数を超えています」的エラーを回避する

2012年3月8日木曜日

tips vba

t f B! P L
Excel2010でVBAを組んでいるとき「ピボットテーブルが使用できる個数を超えています」とのエラーが出た時の回避案めも。

wsT.Activate
area = wsT.Name & POVOT_AREA & wsT.Range("A1").End(xlDown).Row & "C" & wsT.Cells(1, Columns.Count).End(xlToLeft).Column
Set wsP = Sheets.Add
targetArea = wsP.Name & "!R1C1"

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
  area, Version:=xlPivotTableVersion14).CreatePivotTable _
  TableDestination:=targetArea, TableName:=PIVOT_TBL_NAME, DefaultVersion _
  :=xlPivotTableVersion14
        
With wsP.PivotTables(PIVOT_TBL_NAME).PivotFields(targetRowField)
  .Orientation = xlRowField
  .Position = 1
End With
With ActiveSheet.PivotTables(PIVOT_TBL_NAME).PivotFields("date")
  .Orientation = xlColumnField
  .Position = 1
End With
wsP.PivotTables(PIVOT_TBL_NAME).AddDataField wsP.PivotTables( _
  PIVOT_TBL_NAME).PivotFields(targetDataField), "合計 / " & targetDataField, xlSum

wsT:ピボットテーブルのデータのワークシート
wsP:作成したピボットテーブルのワークシート
PIVOT_AREA:R1C1 理由はしらないけど、ここで指定するデータはR1C1という型でなければダメだった。

ちょっとどう書いたかは忘れちゃったのだけど、ピボットテーブルをaddする方法はダメだった。
addしたあとのOrientationを指定するタイミングで、表題のエラーが発生してしまう。
しかも回避方法がなかった。

もう少し詳細を調べたいところだけど、取り急ぎ割愛。

QooQ