大家早上好!
我已经通过这个论坛进行了搜索,但没有找到我对VBA和数据透视表的问题的答案。
我尝试做的很简单。我有一个包含两个工作表的工作簿,一个包含数据,另一个数据透视表基于第一个工作表中的数据。我想复制这两张表(这里没问题),然后将新数据表的数据源从旧数据表移动到新数据表。 当我运行下面的代码时,我得到一个错误5.有关如何解决此问题的任何想法? 非常感谢你:))
Sub nouvelle_periode()
'Crée un nouveau planning vierge fonctionnel à partir des feuilles types
'Copie les tableau et analyse
ActiveWorkbook.Worksheets("Période type").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = "nouvelle-periode"
ActiveWorkbook.Worksheets("Analyse type").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = "nouvelle-analyse"
'Associer la bonne période comme référence pour les tableaux croisés
dynamiques de la feuille d'analyse
Dim wb As Workbook
Dim ws As Worksheet
Dim pt As PivotTable
Dim datarange As Range
donnees = Worksheets("nouvelle-periode").Range("F10:M500")
Worksheets("nouvelle-analyse").Activate
Set wb = ActiveWorkbook
Set ws = ActiveSheet
For Each pt In ws.PivotTables
pt.ChangePivotCache _
wb.PivotCaches.Create(SourceType:=xlDatabase, _
SourceData:=donnees)
Next pt
End Sub
答案 0 :(得分:0)
donnees
是范围对象,对象分配有单词Set
。声明对象也是一种好习惯,例如:在分配之前的某个地方Dim donnees As Range
。
Set donnees = Worksheets("nouvelle-periode").Range("F10:M500")