Hallo TheBlackBird
und ein großes Wow, ich bin begeistert!
Ich habe das Makro jetzt mit mehreren Datenreihen getestet, die ich zuvor manuell bearbeitet hatte, und die einzige Unstimmigkeit, auf die ich gestoßen bin, basierte auf einem Fehler bei meiner eigenen manuellen Filterung.
Demnach scheint das Programm absolut fehlerfrei zu arbeiten, dafür natürlich meinen übersprudelnden Dank und ein Riesenkompliment!
Ich kann ehrlich gesagt überhaupt nicht einschätzen und es würde mich schon interessieren, wie kompliziert das war und wie lange die Programmierung gedauert hat. Das Makro sieht für mich als Laien jedenfalls recht kompliziert aus, wobei wir bei einem für mich verbleibenden Problem sind.
In meiner Anfrage hatte ich die Aufgabe etwas vereinfacht dargestellt, indem ich 3 vorangestellte Tabellenspalten weggelassen habe, weil diese lediglich zusätzliche Informationen beinhalten und mit der eigentlichen Berechnung nichts zu tun haben. Das war wahrscheinlich von mir blöd gedacht, aber ich war davon ausgegangen, dass die Aufgabenstellung durch die Reduktion auf das Wesentliche übersichtlicher wird, und dass ich trotz fehlender Programmierkenntnisse in der Lage wäre, den Code entsprechend anzupassen. Wohl eine gewaltige Selbstüberschätzung, denn der Code sieht für mich doch so kompliziert aus, dass ich das gar nicht erst versucht habe.
Nachdem die Umsetzung bestimmt schon sehr viel Zeit in Anspruch genommen hat, traue ich mich kaum zu fragen, ob es ein großes Problem wäre, den Code so anzupassen, dass die für die Berechnung maßgeblichen Daten nicht in den Spalten A bis D sondern D bis G stehen?
Und wie könnte ich mich angemessen revanchieren, falls Du dazu auch noch bereit wärst?
Nun noch wie erbeten zu Sinn und Zweck der Übung:
Wie Du wahrscheinlich bemerkt hast, stimmt jeweils der Wert in Spalte B mit dem Wert der darauf folgenden Zeile in Spalte A überein, so das die gesamte Datenreihe auch schon allein in Spalte A vorhanden ist. Wenn man die Datenreihe in einem Koordinatensystem grafisch darstellt, ergeben sich fortlaufend und abwechselnd Hoch- und Tiefpunkte. Mit dem Programm möchte ich diejenigen Hoch- und Tiefpunkte rausfiltern, die gemessen am letzten gültigen Extrem nicht mindestens den variabel zu definierenden Schwellenwert erreichen. Am Ende soll also die Differenz zwischen den verbleibenden Hoch- und Tiefpunkten mindestens den Schwellenwert betragen.
Ist das so halbwegs verständlich geworden? Weitere Details würden hier wahrscheinlich den öffentlich interessierenden Rahmen sprengen, könnten wir aber gern per E-Mail austauschen, sofern das nicht den Boardregeln widerspricht.