このコードはSpreadsheetguruにあり、コードの編集に問題があります。 。( ":A100 A1")私はSrcDataをワークシート( "SHEETNAME")範囲として定義するためにVBAのピボットテーブルテンプレートでソースデータを定義
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
は、なぜそれが可能ではないでしょうか?これは、タイプ13のエラー:不一致を返します。私は答えをオンラインで見つけようとしましたが、ほとんどの例では定義シートの代わりにActiveSheet.RangeのSrcDataを参照しました。
ありがとうございました!
このシートのSheet( "PivotExp")のサンプルピボットがどのように機能するかを私に見せていただければ、非常に役に立ちます。 http://imgur.com/TShQ1ls
ありがとうございました!
'SrcData'はRangeではなくStringとして宣言されています。レンジ・オブジェクトではなくピボット・テーブルのソースとしてレンジ・アドレスを使用する方が良いので、コードをそのまま残すことをお勧めします。 – Rory
アドレスを文字列で指定する必要があります。 'SrcData =" SHEETNAME!A1:A100 "' –