Office: Mehrfachwerte aus Liste entfernen bzw. anpassen

Helfe beim Thema Mehrfachwerte aus Liste entfernen bzw. anpassen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, bin momentan dabei ein Portfolio-Performance-Analyse-Tool zu basteln. Dafür wurde mir bereits sehr gut geholfen (Danke nochmals "fette... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von jep, 17. Dezember 2010.

  1. JEP
    jep Erfahrener User

    Mehrfachwerte aus Liste entfernen bzw. anpassen


    Hallo,

    bin momentan dabei ein Portfolio-Performance-Analyse-Tool zu basteln.
    Dafür wurde mir bereits sehr gut geholfen (Danke nochmals "fette Elfe") bei der Basis, also der Portfolio-Bestands-Berechnung anhand der Trades.

    Das Problem ist aber nun, wenn an einem Datum mehrere Trades statt finden. Dann sind in der Lösung von "fette Elfe" auch die Portfolio-Bestände je Datum vorhanden, d.h. ein Datum tritt mehrfach auf. Dies ist für meine weiteren Analysen aber problematisch. Daher suche ich nach einer Möglichkeit diese Fälle, wenn also das Datum mehrfach vorhanden ist, zu eliminieren. Manuell (siehe Bereich im Beispiel mit roter Überschrift) wär das kein Problem, da es je Datum genau eine Bestandsveränderung gibt und man diese bei mehren Bestandsveränderungen je Datum einfach in eine Zeile machen kann.

    Ich habe ein Beispiel angehängt, dann wird es denke ich klarer.


    Schön wäre eben eine automatisierte Lösung per Makro, die mir einige Tage Arbeit ersparen würde.

    Meine Versuche mit Formeln, Makros etc. sind leider allesamt mehr als kläglich gescheitert.

    Ich hoffe jemand kann mir helfen und ich hoffe, es ist i.O. dafür einen neuen Thread erstellt zu haben.

    Vielen Dank!
     
  2. Beverly
    Beverly Erfahrener User
    Hi,

    meinst du das so:
    Code:
    Sub Zusammenfassen()
        Dim lngZeile As Long
        For lngZeile = IIf(IsEmpty(Cells(Rows.Count, 8)), _
            Cells(Rows.Count, 8).End(xlUp).Row, Rows.Count) To 3 Step -1
            If Cells(lngZeile, 8) = Cells(lngZeile - 1, 8) Then _
                Range(Cells(lngZeile, 8), Cells(lngZeile, 11)).Delete shift:=xlUp
        Next lngZeile
    End Sub
    
    Bis später,
    Karin
     
  3. JEP
    jep Erfahrener User
    Hallo,

    das ging ja schnell :)

    Prinzipiell sieht es nicht schlecht aus, allerdings stimmt was mit den Rechnungen nicht. Im Bereich "Aufbereitet erledigt" ist in jeder Zeile genau EIN Aktienbestand geändert. D.h. gibt es 3 mal das selbe Datum, muss es auch 3 Änderungen der Bestände geben, wenn es nur noch ein Datum gibt. Dein Code hat leider nicht alle Änderungen erfasst.

    Konkret falsch...
    - am 12.1. Aktie C -50 fehlt
    - am 16.1. Aktie C -50 statt +10
    - am 26.2. Aktie A 50 statt 100

    Dennoch schon mal vielen Dank für Deine Mühen.
    Wenn ich mich bei der Problembeschreibung unklar ausgedrückt habe, bitte Bescheid sagen - dann versuch ich es nochmal.

    Viele Grüße
     
  4. Beverly
    Beverly Erfahrener User

    Mehrfachwerte aus Liste entfernen bzw. anpassen

    Hi,

    sorry, aber ich verstehe leider dein Prinzip der Zusammenfassung im Zusammenhang mit deiner Zellformatierung nicht so richtig. Soll immer der letzte Eintrag erhalten bleiben? In diesem Fall ist die Tabelle im Bereich H3:K14 farblich falsch formatiert - daraus musste man entnehmen, dass die Rot formatierten Zellen gelöscht werden sollen.
    Code:
    Sub Zusammenfassen()
        Dim lngZeile As Long
        For lngZeile = IIf(IsEmpty(Cells(Rows.Count, 8)), _
            Cells(Rows.Count, 8).End(xlUp).Row, Rows.Count) To 3 Step -1
            If Cells(lngZeile, 8) = Cells(lngZeile - 1, 8) Then _
                Range(Cells(lngZeile - 1, 8), Cells(lngZeile - 1, 11)).Delete shift:=xlUp
        Next lngZeile
    End Sub
    
    Bis später,
    Karin
     
  5. JEP
    jep Erfahrener User
    Hallo Karin,

    es war so gedacht, dass die rote Markierung einfach nur die doppelten "Datums" (Plural von Datum?! :) ) anzeigen sollte. In diesen Zeilen dann nach der Veränderung bei den Werten suchen (Es gibt immer in genau EINER Spalte eine Veränderung zum Wert der vorigen Zeile) und diese eben in einer Spalte zusammenfassen. - So klarer?

    Dein Makro funktioniert bzw. liefert im Beispiel jetzt die richtigen Werte. Allerdings muss ich gestehen, dass ich es nicht 100%ig verstehe. Insofern: Macht es das, was ich oben beschrieben habe? :-) Bzw. könnte ich es auch auf einen anderen Datensatz mit z.B. 100 Aktien (Spalten) und 1000 Trades (Zeilen) anwenden?

    Momentan spricht das Makro ja den Bereich im Bsp an. Lässt es sich so modifizieren, dass es vlt. den aktuellen Auswahlbereich anspricht? D.h. statt von H3:K10 wie im Bsp, auch auf jeden anderen Bereich (der gleich aufgebaut ist; erste Spalte Datum und sonst nur Zahlen)?

    Wieder viele Fragen... vielen lieben Dank soweit schon mal!
     
  6. fette Elfe Erfahrener User
    Hallo jep,

    in Deiner ersten Anfrage hast Du leider nichts davon gesagt, dass Du in der Auswertung für jedes Datum nur eine Zeile möchtest.
    In Deiner Beispieldatei hast Du sogar selber mehrere Zeilen pro Datum, halt für jede Buchung eine Zeile.
    http://www.office-hilfe.com/support...-aus-langer-kauf-verkauf-liste-ermitteln.html

    Dadurch wurde es für den Code einfach, denn Buchung und Auswertung waren immer in der gleichen Zeile.
    Mit Deiner neuen Anforderung macht mein Code keinen Sinn mehr.

    Ich halte es für sinnvoller direkt abzufragen ob das Datum bereits existiert und dementsprechend dann die Auswertung in der gleichen Zeile zu machen, als erst Unmengen von Zeilen voll zu schreiben, um sie danach wieder heraus zu filtern und zu löschen.

    Leider ist mein Code nicht "mal eben" an Deine neue Anforderung an zu passen.
    Da halte ich es für sinnvoller ihn direkt neu zu schreiben.
    (Habe ich persönlich aber im Moment keine Zeit für.)


    Obendrein hast Du Deine Beispieldatei im Vergleich zur ersten Anfrage verändert:
    Die Auswertung steht nun eine Spalte weiter links.
    Das kann mein Code aber nicht wissen, und wenn nun jemand anderes Dir eine Lösung zum Filtern und Löschen von Zeilen schreibt, so geht er/sie von ganz anderen Zellbezügen aus.
    Das ist Murks.

    Im Nachhinein den Aufbau einer Datei zu ändern sollte man sich verkneifen, wenn man nicht auch alles andere (Code, Formeln) selber zuverlässig anpassen kann.


    Was ich immer noch nicht wirklich geschnallt habe:
    Wertest Du alte Listen aus?
    Oder benötigst Du eine Lösung für aktuelle, sich noch verändernde Listen?


    Ich persönlich kann Dir nur empfehlen:
    - stelle eine Beispieldatei mit exakt dem gleichen Aufbau wie Dein Original zu Verfügung
    - verändere den Aufbau nachträglich nicht mehr im geringsten
    - überlege Dir genau welche Funktionen Du benötigst, und frage in einem neuen Thread dann nochmal ganz von vorne. Vielleicht hilft Dir dann jemand der/die es besser kann als ich.
    Auf jeden Fall würdest Du es den hilfreichen Geistern um einiges vereinfachen.

    LG Achim
     
    fette Elfe, 20. Dezember 2010
    #6
  7. JEP
    jep Erfahrener User
    Hallo,

    Du hast natürlich recht, dass es wenig sinnvoll ist, die Dinge zu verändern. Allerdings war mir zu Beginn nicht bewusst, dass ich im weiteren Verlauf Probleme mit doppelten Daten bekommen werde.

    Das mit der Beispieldatei ist so eine Sache... meine Listen, die ich auswerte, haben unterschiedlich viele Trades, also Zeilen. Daraus ergeben sich dann wiederum unterschiedlich viele Spalten. Den Code den Du mir gegeben hast funktioniert wunderbar - absolut exakt was ich wollte. Das einzige Problem ist nun - was ich später festgestellt habe - dass ich mit mehreren Zeilen je Datum nicht weiterarbeiten kann.
     
  8. fette Elfe Erfahrener User

    Mehrfachwerte aus Liste entfernen bzw. anpassen

    Hallo jep,

    manchmal "kommts einem" im Schlaf...
    und manchmal ist man früher wach als man möchte und kann nicht mehr Schlafen

    Ich habe eine zusätzliche Variable für die jeweils letzte Zeile der Auswertung hinzu gefügt und den Datumsvergleich eingebaut.

    Sollte eigentlich alles exakt so wie vorher funktionieren, außer das bei der Auswertung pro Datum nur noch eine Zeile benutzt wird.

    Es sollte auch nicht nur mit Modul1, sondern auch der Automatismus von Tabelle1 funktionieren, falls Du den mal benötigen solltest.

    Im Blatt Stammdaten habe ich Zellkommentare geschrieben.
    Wenn Du ein Blatt/eine Datei beginnst, sind die Startwerte dort wichtig.
    (siehst Du dann)
     
    fette Elfe, 21. Dezember 2010
    #8
  9. JEP
    jep Erfahrener User
    Hallo,

    ich hoffe nicht, dass Dir das Problem schlaflose Nächte bereitet... :-)

    Im Beispiel klappt es super - wie ich es wollte. Problematisch ist es nur, wenn ich noch weitere Daten hinzufüge. Seltsamerweise wird dann die Fortschreibung der Werte nicht immer vorgenommen (siehe Datei).
    Ich habe jetzt länger nach einem Fehlermuster gesucht, aber irgendwie erscheint es mir fast willkürlich, wann es klappt und wann nicht.

    Wenn das noch klappen würde, dann wär es absolut perfekt und mehr als genial!
     
  10. fette Elfe Erfahrener User
    keine Sorge, hatte damit nichts zu tuen, habe nur die dadurch eh vorhandene Zeit genutzt ;O)


    Zum Problem:
    Habe meinen Fehler gefunden.
    Hatte an einer Stelle die falsche Variable.

    Nun sollte es funktionieren.
     
    fette Elfe, 21. Dezember 2010
    #10
  11. JEP
    jep Erfahrener User
    Wo kann man jemand zum Forums-Mitglied des Monats vorschlagen?

    :)

    Vielen vielen Dank. Habe 2 Data-sets durchlaufen lassen und haben wunderbar funktioniert. Sensationell! Super! :)
     
Thema:

Mehrfachwerte aus Liste entfernen bzw. anpassen

Die Seite wird geladen...
  1. Mehrfachwerte aus Liste entfernen bzw. anpassen - Similar Threads - Mehrfachwerte Liste entfernen

  2. Zweispaltige Liste umsortieren

    in Microsoft Excel Hilfe
    Zweispaltige Liste umsortieren: Moin, eine einspaltige Liste mittels SPALTENUMBRUCH umzusortieren ist ja kein Hexenwerk. Aber eine zweispaltige Liste so umzusortieren, dass die Datensätze auch zusammenbleiben, will mir momentan...
  3. Excel Kalender in Word als Liste exportieren

    in Microsoft Excel Hilfe
    Excel Kalender in Word als Liste exportieren: Hallo zusammen, ich habe folgendes vor: Ich besitze einen Kalender (Jahresplan) und möchte diesen gerne in Word exportieren. Wichtig ist das die Termine den Personen zugeordnet sind und nach...
  4. SQL: Filtern mit mehreren Werten aus einer Excelspalte (Liste)

    in Microsoft Excel Hilfe
    SQL: Filtern mit mehreren Werten aus einer Excelspalte (Liste): Hallo zusammen, ich bräuchte Eure Hilfe, bei dem ich nicht weitere komme. Ich lasse importiere SQL-Daten über mehrere Abfragen im Editor vor filtern. Eine Spalte über einen Artikel...
  5. XVERWEIS Liste erstellen

    in Microsoft Excel Hilfe
    XVERWEIS Liste erstellen: Hallo, ich habe eine Liste mit diversen Daten. Ich will nun aus dieser Liste bestimmte Zellen kopieren, wenn 2 Bedingungen erfüllt werden. Habe es mit XVERWEIS versucht komme aber nicht hin....
  6. Schnellsprung zu einer Zeile in einer Liste (Buchstabe)

    in Microsoft Excel Hilfe
    Schnellsprung zu einer Zeile in einer Liste (Buchstabe): Ich habe eine Liste mit Lieferorten. Diese ist Alphabetisch geordnet. Ich habe sie so abgespeichert, dass man Mittig liegt und dann je nach Stadtname hoch oder runterscrollen muß. Die Liste wird...
  7. Zählenwenn mit Suchkriterien als Liste

    in Microsoft Excel Hilfe
    Zählenwenn mit Suchkriterien als Liste: Hallo Forum, ich möchte die Zählenwenn-Funktion nutzen mit anpassbaren Suchkriterien, welche in einer Spalte erweiterbar sein sollen. Wenn z.B. ein Wert aus Spalte A im Suchbereich gefunden wird,...
  8. Daten von alter Liste in neue übertragen

    in Microsoft Excel Hilfe
    Daten von alter Liste in neue übertragen: Ich habe auf Excel eine Lagerliste aus meinem Warenwirtschaftssystem erstellt. Ich muss jede Woche eine aktuelle Lagerliste erstellen. Ich habe die Liste mit zusätzlichen Zeilen erweitert. Wenn...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden