2016-05-16 2 views
0

このコードは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

ありがとうございました!

+0

'SrcData'はRangeではなくStringとして宣言されています。レンジ・オブジェクトではなくピボット・テーブルのソースとしてレンジ・アドレスを使用する方が良いので、コードをそのまま残すことをお勧めします。 – Rory

+0

アドレスを文字列で指定する必要があります。 'SrcData =" SHEETNAME!A1:A100 "' –

答えて

-1

Why is it not possible for me to Define SrcData as Worksheets("SHEETNAME").Range("A1:A100")?

ピボットテーブルは、2次元データ(表形式)、すなわち行と列ではなく、A1で動作します:A100あなたが唯一の1次元データ(リスト形式)を供給しています。また、構文規則に従ってソースデータを割り当てる必要があります。

It returns a type 13 error: mismatch. 

上記理由による不一致エラー。何らかの理由で

It would also greatly help if you could show me how an example pivot would work for the Sheet("PivotExp") on this sheet. http://imgur.com/TShQ1ls

、画像は表示されませんでしたが、代わりに次の例のリンクを訪問することができます:VBAコードでピボットテーブルを作成する方法を示しhttp://analysistabs.com/excel-vba/pivot-tables-examples/を。
与えられたコードにピボット関連の情報がたくさんありますので、ピボットは形成されませんが、上記のリンクを訪れてアイデアを得ることができます。

+0

これは両方とも間違っていて特に役に立ちません。実際には1つの列からピボットテーブルを作成することができますが、タイプミスマッチエラーが発生する理由についての実際の質問には答えませんでした。病気@msinfo – Rory

+0

はい私の質問は、私がしようとした場合でも、不一致のためだったという最後のリンクトライ感謝の男 – eddy

+0

@Roryを与える: 薄暗いpivotexpをワークシート 設定pivotexpとして=ワークシート(「PivotExp」) 「のデータを決定しますあなたが旋回させたい範囲 SrcData = pivotexp.Range( "A6:E26") は、同じエラーを返します。 – eddy

関連する問題