Frage : Summierte Gelenktabelle

Hallo glauben Experts
, das ich schaue, um eine Gelenktabelle herzustellen, ich, von den folgenden rohen Daten. Jeder Monat erhalte ich einen Satz rohe Daten (der rohe Vorsprung) und ich ordne neu, um das lesbare Format zu schauen (beendet). So sind die rohen Daten nur eine Teilmenge und jeder Monat ist die Mengen und die Länge des Reports unterschiedlich. Was konstant bleibt, ist die Klienten (oder meistens). Ich versuchte, Summen und Gelenktabelle zu verwenden, aber das Problem ist, dass die einige der Klienten summiert werden müssen, während andere nicht tun. In den rohen Daten schrieb ich manuell in einer Reihe, die Summe benannt wurde und setzte mich in das Y für summiert oder in verlassen zu werden N, wie ist. Die Spaltensumme ist nicht normalerweise dort. So, was ich versuche, zu erzielen, ist ein vba Index, der tramform die Daten in meine lesbare Fertigware
wird
Attachments:
sample3

Antwort : Summierte Gelenktabelle

O.K., versuchen dieses:

Es gibt keine Notwendigkeit, in privatem oder in einer Summenspalte manuell mehr hinzuzufügen, da das Makro dies für Sie tut.  Da ich versuchte, früh zu erklären, damit dieses automatisiert werden kann, ich, irgendeine Art logische Weise benötigen, dass diese Aufzeichnungen signifikantes privates oder y oder N. sind.

Und dieses ist, was ich wissen musste:
„Die Klientencodes, die mit M anfangen, und T und erklären 4001 benötigt, für jedes Symbol zusammen hinzugefügt zu werden.“

Auch die späteste Akte, die Sie bekannt gaben, hat alle korrekten Daten, so nun da Mengengleiches zu, was Sie erwarteten.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
VorCreatePivotTable ()

    Schwaches lastRow als lang
    I als lang verdunkeln
    
    Blätter („roh“). Aktivieren
    
    Strecke („A1“). Wert = „Symbol“
    Strecke („B1“). Wert = „Klienten-Code“
    Strecke („C1“). Wert = „Quantität“
    Strecke („D1“). Wert = „privat“
    
    lastRow = Blätter („roh“). Strecke („A“ u. Rows.Count). Ende (xlUp). Reihe
    
    Für i = 2 zum lastRow
        Wenn Zellen (i, 2).Value = „4001“ oder verlassen (Zellen (i, 2).Value, 1) = „T“ oder verlassen (Zellen (i, 2).Value, 1) = „M“ dann
            Zellen (i, 2).Value = „privat“
        Sonst
        Beenden wenn
    Zunächst I
    
    ActiveWorkbook.PivotCaches.Add (SourceType: =xlDatabase, SourceData: = _
        „Roh! R1C1: R“ u. lastRow u. „C4“) .CreatePivotTable TableDestination: = "", TableName: = _
        „PivotTable1“, DefaultVersion: =xlPivotTableVersion10
    ActiveSheet.PivotTables („PivotTable1“) .AddFields RowFields: = " Symbol“, _
        ColumnFields: = " Klienten-Code "
    ActiveSheet.PivotTables („PivotTable1“) .PivotFields („Quantität“). Lagebestimmung = _
        xlDataField
    
Enden-Unterseeboot
 
Beispiel
 
Weitere Lösungen  
 
programming4us programming4us