Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sowas wie eine Summery programmieren

Sowas wie eine Summery programmieren
28.03.2009 16:08:42
Mandy
Hi,
habe mal eine spezielle Frage: ich habe ein sheet "Data" mit vielen Spalten und Zeilen. Da werden von anderen Tabellen daten eingelesen. Unter anderem gibt es in der Spalte V Kategorien und zwei Spalten AA und AB mit Preisen.
Auf einem anderen Sheet "Summery" möchte ich sowas wie eine Summery machen, also praktisch eine Übersicht von allen Kategorie und dahinter die entsprechende Preise addiert.
Alos, im Prinzip sowas wie ein sverweis: auf meiner Seite "Summery" hätte ich dann meine einzelne Kategorieren und würde mit dem sverweis auf meine "Data" die einzelnen Preise der Kategorieren addieren.
Sheet "data":
V_____________________AA______AB______
Auto__________________100,-____50,-_____
Haus__________________200,-____10,-_____
Auto__________________100,-____200,-____
Baum__________________20,-_____50,-_____
Rad___________________50,-_____10;-_____
Auto__________________________30,-_____
Haus__________________200,-____30,-_____
Sheet "summary":
A________B_________C________
Auto_____200,-______280,-_____
Haus_____400,-_______40,-______
Baum_____20,-________50,-______
Rad______50,-________10,-______
Das Problem bei dem ganzen ist nur: die einzelnen Kategorien sind bei jedem Einlesen anders. ich bräuchte also irgend was dynamisches, was anfängt, in der Spalte V nach der ersten Kategorie zu suchen, dort die jeweils gleichen Kathegorien zu suchen und nach sheet "summery" in die Spalte A / Zeile 10 reinschreibt. Dann die nächste Kategorien in "Data" (V) suchen , Preise addieren und nach "data" schreiben.
Hat jemand eine Idee, wie man sowas machen könnte ?
Danke mal
Gruss
Mandy

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivotabelle ? owt
28.03.2009 16:15:56
Daniel
Lieber ein Makro :-) oT
28.03.2009 16:33:08
Mandy
AW: Warum Marko schreiben...
28.03.2009 16:36:44
Daniel
... wenn man auch eine Pivot-Tabelle verwenden kann?
Gruß, Daniel
Weil ich..
28.03.2009 17:03:45
Mandy
....von Pivottabellen noch weniger (oder garkeine) Ahnung habe und ich in meinem sheet seither alles mit Makros gemacht habe.
Warum, geht das nicht per Makro ?
Gruss
Mandy
AW: Weil ich..
28.03.2009 17:14:21
robert
hi,
probier einfach mal eine pivot
gruß
robert
...und ich in meinem sheet seither alles mit Makros gemacht habe. ?
https://www.herber.de/bbs/user/60781.xls
AW: Weil ich..
29.03.2009 11:54:49
Sibylle
Hallo Robert,
Deine Pivotzusammenfassung will mir nicht gelingen.
Mein Pivotbericht sieht so aus:
Userbild
Wie kommst Du zu Deiner unten dargestellten Lösung?
Gruß
Sibylle
Anzeige
AW: Weil ich..
29.03.2009 12:18:47
Daniel
Hi
klicke in der fertigen Pivot-Tabelle auf die Zelle in der "Daten" steht, halte die Maustaste gedrückt und ziehe die Zelle um eine Zelle nach rechts, auf die Zelle "Ergebnis"
dann werden die Daten anders angeordnet
Gruß, Daniel
AW: Weil ich..
29.03.2009 12:51:38
Sibylle
Hallo Daniel,
Dein Tipp wurde erfolgreich getestet. Ich danke Dir für Deine Hilfe und wünsche Dir einen schönen Tag.
Gruß
Sibylle
AW: Dann wird es höchste Zeit
28.03.2009 17:22:08
Daniel
das du dich mal mit Pivot-Tabellen beschäftigtst.
http://www.online-excel.de/excel/singsel.php?f=55
natürlich kann man das per Makro lösen, aber man braucht ja nicht das Rad neu erfinden, wenn man schon einen Ferrari in der Garage stehen hat. ;-)
Gruß, Daniel
Anzeige
AW: Dann wird es höchste Zeit
28.03.2009 17:45:37
Mandy
Hi Daniel,
aktualisiert sich eine Pivottabelle auch automatisch, wenn ich neue Daten einlese ?
Gruss
Mandy
AW: Dann wird es höchste Zeit
28.03.2009 19:13:16
Daniel
Hi
nicht ganz, du musst noch im Kontextmenü zur Pivot-Tabelle die Funktion "Aktualisieren" klicken.
aber auch das Makro musst du ja irgendwie starten.
sollte sich der Zellbereich dabei verändern, musst du ggf. bei der Definiton des Zellbereichs einen dynamischen Namen verwenden.
Gruß, Daniel
AW: Sowas wie eine Summery programmieren
28.03.2009 17:21:32
ransi
HAllo MAndy
Versuch mal dies:
Option Explicit

Public Sub machs()
    Dim arr
    Dim MyDicAA
    Dim MyDicBB
    Dim L As Long
    arr = Sheets("Data").Range("V1:AB1000")
    Set MyDicAA = CreateObject("Scripting.Dictionary")
    Set MyDicBB = CreateObject("Scripting.Dictionary")
    For L = 1 To UBound(arr)
        MyDicAA(arr(L, 1)) = MyDicAA(arr(L, 1)) + arr(L, 6)
        MyDicBB(arr(L, 1)) = MyDicBB(arr(L, 1)) + arr(L, 7)
    Next
    With Sheets("Summary")
        .Range("A1").Resize(MyDicAA.Count) = WorksheetFunction.Transpose(MyDicAA.keys)
        .Range("B1").Resize(MyDicAA.Count) = WorksheetFunction.Transpose(MyDicAA.items)
        .Range("C1").Resize(MyDicAA.Count) = WorksheetFunction.Transpose(MyDicBB.items)
    End With
End Sub

ransi
Anzeige
Ja, sowas würde passen,..
28.03.2009 17:43:49
Mandy
kannst Du vielleicht das ganze noch so machen, dass im sheet "data" das erfassen der Daten erst ab Zeile 6 losgeht, son´st wird mein Kopf noch mit eingebunden.
"summery" ist OK.
Danke Mandy
AW: Ja, sowas würde passen,..
28.03.2009 18:03:06
ransi
HAllo

... erst ab Zeile 6 losgeht, sonst wird mein Kopf noch mit eingebunden.


Hm...
Binde deinen Kopf mal ruhig mit ein und änder selber ;-)
Diese Zeile:
arr = Sheets("Data").Range("V1:AB1000")
musst du anpassen.
ransi

Ah sorry.....
28.03.2009 18:23:59
Mandy
....habe ich garnicht drauf geachtet, klar, V6 :-)
vielen Dank.
Mandy

71 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige