我在Spreadsheetguru上发现了这个代码,我在编辑代码时遇到了问题。
Sub CreatePivotTable()
'PURPOSE: Creates a brand new Pivot table on a new worksheet from data in the ActiveSheet
'Source: www.TheSpreadsheetGuru.com
Dim sht As Worksheet
Dim pvtCache As PivotCache
Dim pvt As PivotTable
Dim StartPvt As String
Dim SrcData As String
'Determine the data range you want to pivot
SrcData = ActiveSheet.Name & "!" & Range("A1:R100").Address(ReferenceStyle:=xlR1C1)
'Create a new worksheet
Set sht = Sheets.Add
'Where do you want Pivot Table to start?
StartPvt = sht.Name & "!" & sht.Range("A3").Address(ReferenceStyle:=xlR1C1)
'Create Pivot Cache from Source Data
Set pvtCache = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=SrcData)
'Create Pivot table from Pivot Cache
Set pvt = pvtCache.CreatePivotTable( _
TableDestination:=StartPvt, _
TableName:="PivotTable1")
End Sub
为什么我无法将 SrcData 定义为工作表(" SHEETNAME")。范围(" A1:A100")?它返回类型13错误:不匹配。我尝试在线查找答案,大多数示例都参考了SrcData for ActiveSheet.Range而不是定义的表格。
谢谢!
如果您可以向我展示示例数据透视图如何在此工作表上使用工作表(" PivotExp"),这也会有很大帮助。http://imgur.com/TShQ1ls
非常感谢你!
答案 0 :(得分:-1)
为什么我不能将SrcData定义为 工作表( “SHEETNAME”)范围。( “A1:A100”)?
数据透视表适用于二维数据(表格形式),即行和列,但使用A1:A100,您只提供一维数据(列表形式)。您还需要根据语法规则分配源数据。
It returns a type 13 error: mismatch.
由于上述原因导致的不匹配错误。
如果您能告诉我示例如何转动,这也会有很大帮助 将在这个工作表(“PivotExp”) 片。http://imgur.com/TShQ1ls
由于某种原因,图片不可见,但您可以访问以下示例链接:http://analysistabs.com/excel-vba/pivot-tables-examples/,其中显示了如何使用VBA代码创建数据透视表。
既然,你的代码丢失了许多与Pivot相关的信息,那么Pivot就不会形成,但通过访问上面的链接,你可以有所了解,其中缺少什么。