2017-02-07 3 views
0

Я пытаюсь вставить pivot table в документ. Следующий код вызывает ошибку mismatch, однако, я не уверен, где/почему она бросает его в линию (Set pCache ... линия. В то время как ошибка возникает, заготовка pivot table все еще создается.VBA: несоответствие типов с помощью PivotCaches

Где ? Я буду неправильно

pivot_lastRow = mainSheet.Cells(mainSheet.Rows.count, "A").End(xlUp).Row 'may need to change "A" 
    pivot_lastCol = mainSheet.Cells(1, mainSheet.Columns.count).End(xlToLeft).Column 

    Set pivotRange = mainSheet.Range(mainSheet.Cells(1, 1), mainSheet.Cells(pivot_lastRow, pivot_lastCol)) 

    Set pCache = wbk.PivotCaches.Create(SourceType:=xlDatabase, _ 
      SourceData:=pivotRange).CreatePivotTable(TableDestination:=pivotSheet.Cells(2, 2), _ 
      TableName:="Test") 

ответ

3

Вы создаете сводную таблицу и попытаться установить его в объект кэша стержень, который не может работать;)

Раздельные последнее утверждение:

Dim pCache As PivotCache 
Dim pTable As PivotTable 

pivot_lastRow = mainSheet.Cells(mainSheet.Rows.count, "A").End(xlUp).Row 'may need to change "A" 
    pivot_lastCol = mainSheet.Cells(1, mainSheet.Columns.count).End(xlToLeft).Column 

    Set pivotRange = mainSheet.Range(mainSheet.Cells(1, 1), mainSheet.Cells(pivot_lastRow, pivot_lastCol)) 

    Set pCache = wbk.PivotCaches.Create(SourceType:=xlDatabase, _ 
      SourceData:=pivotRange) 

    Set pTable = pCache.CreatePivotTable(TableDestination:=pivotSheet.Cells(2, 2), _ 
      TableName:="Test") 
+1

Хотя объявление 'pCache' не было показано, это должно быть решением. (Declarations 'pcache и pTable' было бы хорошим дополнением, хотя) –

+0

Вот оно. Спасибо вам за помощь. – Rivers31334

+0

@ Rivers31334: рад, что я мог бы помочь! ;) – R3uK

Смежные вопросы