ich bitte euch um Hilfe, mir durch ein Makro viel Arbeitszeit und Mühe zu ersparen.
Habe mir auch lange Gedanken gemacht, welche Schritte von Nöten sind, damit alles funktioniert wie es soll, mir fehlen halt die VBA Kenntnisse um das dann auch in etwas umzusetzen, was Excel versteht.
Ich hoffe ich kann es euch verständlich machen. Ich hoffe es ist nichts, was euch vor große Herausforderungen stellt, die über das VBA 1x1 hinausgehen, aber es ist deutlich mehr als 2, 3 Dinge die das Makro tun soll. Ich hoffe ihr helft mir trotzdem.
Ich habe 5 Blätter mit folgenden Namen
Ergebnis
Kopie
30
vorher 30
nachher 30
Das Makro soll mit dem löschen von Überresten vorheriger Auswertungen anfangen, d.h.
1. Die kompletten Inhalte der Tabellen Kopie, vorher 30 und nachher 30 löschen
1.1. auch den Inhalt der Tabelle 30 löschen, mit Ausnahme der Zelle I1.
Das Makro soll nun den ersten Teil der Tabelle Ergebnis aktualisieren, d.h.
2. die Formeln, die in den Zellen B1, C1, E1 und K1 stehen bis ans Ende der Tabelle kopieren und ab Zeile 2 die Werte einfügen, sodass nachher wieder ausschließlich in Zeile 1 Formeln stehen, dazu danach
2.1. den Inhalt der Spalte F mit dem Inhalt der Spalte K überschreiben.
3. Dann soll die Tabelle Ergebnis neu sortiert werden, in der Reihenfolge Spalte F absteigend, dann Spalte C aufsteigend.
4. Dann soll eine Kopie der Tabelle Ergebnis in der Tabelle Kopie erstellt werden.
Das Makro soll nun den zweiten Teil der Tabelle Ergebnis aktualisieren, d.h.
5. die die Formeln, die in den Zellen G1, H1, I1 und J1 stehen bis ans Ende der Tabelle kopieren und ab Zeile 2 die Werte einfügen, sodass nachher wieder ausschließlich in Zeile 1 Formeln stehen.
Die beiden Teile kann man nicht in einem aktualisieren, weil die Ergebnisse in G1:J1 abhängig von der Sortierung sind.
Das Makro soll nun die anderen Tabellen mit bestimmten Inhalten füllen. (Jeweils Spalte A bis H sollen kopiert werden).
6.1. Tabelle 30: Hier sollen die Zeilen mit den 30 höchsten Zahlen, die in Spalte Ergebnis!F:F stehen, hineinkopiert werden. Wobei jede Zahl öfters vorkommen kann, kommen die 30 höchsten Zahlen insgesamt 45mal vor, sollen auch 45 Zeilen kopiert werden.
6.2. Tabelle vorher 30: hier sollen die Zeilen reinkopiert werden, in denen in Spalte J eine Zahl kleiner gleich 30 stand, als die Kopie gemacht wurde, jedoch seit das zweite mal aktualisiert wurde eine Zahl größer 30 in Spalte J steht.
6.3. Tabelle nachher 30: hier genau das umgekehrte, hier sollen die Zeilen rein, in denen in Spalte J eine Zahl größer 30 oder gar nichts stand, als die Kopie gemacht wurde, jedoch seit das zweite mal aktualisiert wurde eine Zahl kleiner gleich 30 in Spalte J steht.
Zu guter letzt, kommen wir dann zu der Zelle I1 in der Tabelle 30, die Zu Beginn ja nicht gelöscht werden sollte.
7. Wenn unter Punkt 6.1 45 Zeilen nach Tabelle 30 kopiert wurden, soll dann die Formel in I1 bis Zeile 45 kopiert werden, wenn es 50 Zeilen waren halt bis Zeile 50, wenn es 73 Zeilen waren, halt bis Zeile 73 usw.
Fertig.
Hoffe jemand nimmt sich die Zeit und hilft mir.
Danke
Christian