VBA + Pivot erzeugen

Herli

Mitglied
Hallo erstmal (ich weiß nicht, ob sie es schon wussten...),

vielleicht kann mir jmd helfen. Ich bin jetzt nicht sooo der VBA Freak, aber unsere VBA Gurus sind sind mit was anderen beschäftigt. Deshalb wende ich mich an euch.
Nun zu meinem Problem:

Ich lese in Excel eine csv-Datei ein. Diese Liste habe ich auch schon markiert mit:

PHP:
Range("A1").Select
    
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
kein PHP-Code, VBA Code....

Nun möchte ich eine Pivot-Tabelle in ein bestimmtes Tabellenblatt erstellen (z.B. "Pivot").

Ich hab auch schon den Makrorekorder benutzt, aber der macht nicht das was ich will.

Kann mir jmd diesbezüglich bitte helfen?

Danke!
 
Da ichs nicht ganz genau reingeschrieben habe:
gesucht ist also eine Code, welcher eine Pivot Tabelle in ein bestimmtes Tabellenblatt erzeugt.
 
von der Idee her so
Visual Basic:
    Dim wb As Workbook
    Dim xl As Excel
    Dim sheet As Worksheet
    Dim rangeQuelle
    Dim nameQuelle As String
    Dim nameZiel As String
    
    Set wb = Application.Workbooks.Open("öffne Dein Workbook.xls")
    
    
    nameQuelle = "Tabelle1"
    rangeQuelle = "R3C2:R10C4"
    nameZiel = "Blabla"
    
    wb.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=nameQuelle & "!" & rangeQuelle).CreatePivotTable TableDestination:="", TableName:=nameZiel, DefaultVersion:=xlPivotTableVersion10
    
    Set sheet = Application.ActiveWorkbook.Sheets(nameZiel)
    sheet.PivotTableWizard TableDestination:=sheet.Cells(3, 1)
    sheet.Cells(3, 1).Select
    With sheet.PivotTables(nameZiel).PivotFields(Spaltenüberschrift aus feld a1)
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables(nameZiel).PivotFields(Spaltenüberschrift aus Feld b1)
        .Orientation = xlColumnField
        .Position = 1
    End With
    ActiveSheet.PivotTables(nameZiel).AddDataField ActiveSheet.PivotTables(nameZiel).PivotFields(Spaltenüberschrift aus Feld b2), "Summe", xlSum

achtung funktioniert natürlich nicht da ich direkt in den tatsächlichen Code getextet habe, wo du etwas ersetzten musst

Grüsse bb
 
eins verstehe ich nicht oder ich bin zu blöd dafür:

Bei mir ist dieser range dynamisch:
Visual Basic:
    Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select

und bei dir schon im voraus angegeben:

Visual Basic:
rangeQuelle = "R3C2:R10C4"

Wie verknüpft man die? (irgendwie steh ich total auf der Leitung oder sitze...)
 

Neue Beiträge

Zurück