Registriert seit: 10.11.2017
Version(en): Office 2019
10.11.2017, 09:01
(Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2017, 09:23 von Rabe.
Bearbeitungsgrund: Mini-Schriftformatierung entfernt
)
Hallo zusammen,
Ich habe folgendes Problem:
In einer Excel Liste stehen in der Spalte A mehrere Artikelnummern, diese Artikelnummern können mehrmals auftauchen. In der Spalte AH steht das dazugehörige Änderungsdatum zu dem Artikel. Ich bräuchte nun ein Vba Code, der wenn eine Artikelnummer mehrmals vorhanden ist, das jüngste (also aller erste) Änderungsdatum sucht und dies in das neueste Änderungsdatum kopiert. (also in die letzte hinzugefügte Artikelnummer, mit neuestem Änderungsdatum)
Zu guter Letzt sollen alle doppelt vorhandene Artikelnummer gelöscht werden und nur der letzte getätigte Eintrag, also neuste Artikelnummer mit dem hinzugefügten ältestem Datum stehen bleiben.
Ich hoffe, dass ich mein Problem einigermaßen verständlich beschrieben habe.
Über eure Hilfe wäre ich sehr dankbar und bedanke mich vorab.
Gruß
Registriert seit: 01.11.2017
Version(en): 2010
(10.11.2017, 09:01)JF2707 schrieb: das jüngste (also aller erste) Änderungsdatum
Aufgrund solcher begrifflichen Katastrophen sind Beispiele besser, als Text.
Registriert seit: 11.03.2015
Version(en): mittlerweile meistens 2019
10.11.2017, 09:49
(Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2017, 09:49 von Der Steuerfuzzi.)
Hallo,
ich weiß nicht, ob ich Dein Vorhaben richtig verstanden habe:
(10.11.2017, 09:01)JF2707 schrieb: In der Spalte AH steht das dazugehörige Änderungsdatum zu dem Artikel. ... wenn eine Artikelnummer mehrmals vorhanden ist, das jüngste (also aller erste) Änderungsdatum sucht
Wie oft bruchst Du das? Das ganze könnte man auch mit einer Formel lösen, z. B.
Code:
AI2 =WENN(AGGREGAT(14;4;($A$2:$A$9=A2)*$AH$2:$AH$9;1)=AH2;"Löschen";"")
Nun nach Spalte AI filtern und die Einträge mit "Löschen" in der Zelle auswählen und die Zeilen löschen. Fertig.
EDIT: Ab XL2016 gibt es mW MAXWENN. Dies wäre dann eine Alternative für die verwendete AGGREGAT-Funktion.
Gruß
Michael
Registriert seit: 10.11.2017
Version(en): Office 2019
10.11.2017, 10:19
(Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2017, 10:25 von JF2707.)
Hallo zusammen,
vielen Dank für Eure schnelle Antwort.
Also nochmal als Bsp.
Spalte A1 Spalte B1 Spalte C1 usw. Spalte AH
Artikel: 1 x x Datum:01.11.2017
Artikel: 1 x x Datum:02.11.2017
Artikel: 1 x x Datum:03.11.2017
Artikel: 1 x x Datum:04.11.2017
Artikel: 1 x x Datum:05.11.2017
Artikel: 1 x x Datum:06.11.2017
Spalte A1 Spalte B1 Spalte C1 usw. Spalte AH
Nehme mir von Artikel: 1 x x das Datum 01.11.2017 und ersetzte so:
Spalte A1 Spalte B1 Spalte C1 usw. Spalte AH
Artikel: 1 x x 01.11.2017 (Nur diese Zeile von Artikel 1 soll stehen bleiben)
Gruß
Registriert seit: 11.03.2015
Version(en): mittlerweile meistens 2019
Ja, Dein Beispiel zeigt, dass ich auf dem richtigen Weg bin. Hast Du es denn ausprobiert?
Formel -> Autofilter -> Zeilen löschen sollte genau das sein, was Du suchst
Gruß
Michael
Registriert seit: 10.11.2017
Version(en): Office 2019
10.11.2017, 11:21
(Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2017, 11:21 von JF2707.)
@Steuerfuzzi
So, gerade getestet...
In jedenr Zelle (Spalte AI) wo nun Löschen steht, soll die ganze Zeile NICHT gelöscht werden.
Ist ja vom Prinzip egal, da ich die Formel so umgeändert habe:
=WENN(AGGREGAT(14;4;($A$2:$A$43=A2)*$AH$2:$AH$43;1)=AH2;"nicht löschen";"")
Du bist, bzw. warst also absolut auf dem richtigen Weg
Jetzt müsste ich nur das das Problem mit dem Datum lösen.
Danke Dir
Gruß
Registriert seit: 11.03.2015
Version(en): mittlerweile meistens 2019
Ist das Problem, dass das Wort Datum in der Zelle steht?
Suchen nach "Datum:" ersetze durch ""
Gruß
Michael
Registriert seit: 10.11.2017
Version(en): Office 2019
10.11.2017, 12:19
(Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2017, 12:22 von JF2707.)
Nein, ist nicht das Problem.
mir ist gerade aufgefallen, dass deine Formel komischerweise auch nicht immer richtig Funktioniert.
D.h. bei manschen gleichen Artikelnummer funktioniert es, bei manchen wiederum nicht. (Der Fehler muss irgendwo in der Tabelle liegen und nicht an deiner Formel)
Ich suche gerade parallel im Netz nach einem VBA-Code, der mir alle Duplikate löscht, außer den Ersten und letzten Eintrag!!!
So könnte ich meine Problem auch lösen, da die jeweiligen Datumseinträge alle aufsteigend sind.
Gruß
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi.
vielleicht sind bei manchen Artikelnummern Leerzeichen am Anfang oder Ende?