Definieren von Quelldaten in der Pivot-Tabellenvorlage für VBA - Excel, VBA, Excel-VBA

Ich habe diesen Code auf Spreadsheetguru gefunden und habe ein Problem mit der Bearbeitung des Codes.

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

Warum kann ich nicht definieren? SrcData als Arbeitsblätter ("SHEETNAME").Reichweite ("A1: A100")? Es gibt einen Fehler vom Typ 13 zurück: Mismatch. Ich habe versucht, Antworten online zu finden, und die meisten Beispiele verwiesen die SrcData für ActiveSheet.Range anstelle eines definierten Blattes.

Vielen Dank!

Es würde auch sehr hilfreich sein, wenn Sie mir zeigen könnten, wie ein Beispiel-Pivot für das Sheet ("PivotExp") auf diesem Blatt funktionieren würde.http://imgur.com/TShQ1ls

Ich danke dir sehr!

Antworten:

-1 für die Antwort № 1

Warum kann ich SrcData nicht als definieren? Arbeitsblätter ("SHEETNAME"). Bereich ("A1: A100")?

Pivot - Tabelle arbeitet mit zweidimensionalen Daten (tabellarischForm), d. h. Zeilen und Spalten, aber mit A1: A100 liefern Sie nur 1 dimensionale Daten (Listenform). Außerdem müssen Sie Quelldaten gemäß den Syntaxregeln zuweisen.

It returns a type 13 error: mismatch.

Mismatch-Fehler aufgrund des obigen Grundes.

Es würde auch sehr hilfreich sein, wenn Sie mir zeigen könnten, wie ein Beispiel pivot ist würde für das Blatt ("PivotExp") auf diesem arbeiten Blatt.http://imgur.com/TShQ1ls

Aus irgendeinem Grund war das Bild nicht sichtbar, stattdessen können Sie folgenden Beispiellink besuchen: http://analysistabs.com/excel-vba/pivot-tables-examples/ die zeigen, wie Pivot-Tabellen mit VBA-Code erstellt werden.
Da Ihrem gegebenen Code viele Pivot-bezogene Informationen fehlen, wird ein Pivot nicht "gebildet", aber durch den Besuch des obigen Links können Sie eine Idee haben, welche Dinge darin fehlen.


Verwandte Fragen
Speisekarte