Makro Duplikate bis auf 2 entfernen

nach unten

Betrifft: Makro Duplikate bis auf 2 entfernen von: trader-hawk
Geschrieben am: 04.05.2021 05:14:14

Hallo,

ich habe ein Makro das Duplikate entfernt. Wie schaffe ich es aber das er nicht nur den ersten Wert sondern die ersten 2 oder auch 3 übrig lässt?

Bei dem Code: Range("A:G").RemoveDuplicates Columns:=6, Header:=xlNo

ist das komische, das es eigentlich A:E und Columns:=5 heisen sollte. Sobald ich aber weniger als G und 6 eingebe funktioniert es nicht.
Keine Ahnung warum.

Userbild

https://www.herber.de/bbs/user/145972.xlsm

Gruß Arend

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: Herbert_Grom
Geschrieben am: 04.05.2021 17:16:12

Hallo Arend,

probiers mal damit:

Sub Duplikate_entfernen()
   '* Spalte C wird EUR oder $$$ in eine Zahl umgewandelt damit man Formeln anwenden kann
   With Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
       .Offset(, 4).FormulaR1C1 = "=SUBSTITUTE(SUBSTITUTE(RC[-2],""EUR"",""""),""$$$"","""")*1"
   
      '* Spalte B "Aktienname" wird auf 1 Wort gekürzt
         .Offset(, 5).FormulaR1C1 = "=IFERROR(LEFT(RC[-4],SEARCH("" "",SUBSTITUTE(RC[-4],"" "","" "",2))-1),RC[-4])"
   End With
         
   Cells.Sort Key1:=Range("B1"), Order1:=xlAscending, _
              Key2:=Range("E1"), Order2:=xlDescending, _
              Key3:=Range("D1"), Order3:=xlDescending, Header:=xlNo
              
   Range("A:F").RemoveDuplicates Columns:=6, Header:=xlNo
End Sub
Servus

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: trader-hawk
Geschrieben am: 04.05.2021 18:13:05

Hallo Herbert,

vielen Dank für Deine Hilfe. Ja der Fehler ist jetzt weg. Weniger ist manchmal doch mehr. Super.

Zu meinem Hauptproblem hast du keine Lösung oder? Das er mir nicht nur den ersten sondern die ersten 2 beim entfernen übrig lässt. Oder geht das gar nicht? Denn startet man die Duplilkaten-Suche händisch gibt es diesen Punkt nicht. Er löscht alle Duplikate bis auf den ersten und ich brauche 2 und für ein anderes Programm auch 3 die stehen bleiben.

Hier nochmal die Version ohne den Fehler:
https://www.herber.de/bbs/user/145990.xlsm

Gruß Arend

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: Herbert_Grom
Geschrieben am: 04.05.2021 18:15:51

Hallo Arend,

ich bin schon dran an der Lösung für die 2 oder 3 Ersten. Aber heute schaffe ich das nicht mehr. Aber morgen klappt es bestimmt.

Servus

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: trader-hawk
Geschrieben am: 04.05.2021 18:26:20

Hallo Herbert,

sorry ich sah erst jetzt das Du noch mehr geschrieben hast. Das Forum ist gewöhnungsbedürftig aber dafür kompetent und sehr schnell in der Lösungsfindung.

Ich sortiere ja als erstes nach B also den Namen und dieser ist Maßgebend. Nach dem Namen wird nach dem höchsten Wert in E sortiert und dann nach dem höchsten % und diese Zeile steht dann an erster Stelle. Aber der Name ist maßgebend und was danach kommt wird die ganze Zeile gelöscht.

Gruß Arend

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: Herbert_Grom
Geschrieben am: 05.05.2021 10:01:14

Hallo Arend,

es ist so weit! Schau dir mal meinen Vorschlag an:

https://www.herber.de/bbs/user/146003.xlsm

Servus

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: trader-hawk
Geschrieben am: 06.05.2021 16:56:59

Hallo Herbert,

wow es funktioniert. Danke das Du Dir diesen Aufwand gemacht hast. Finde ich einfach nur Klasse. Und auch Super das Du die Formeln beschriftet hast.

1. Die Buttons verschwinden und wenn ich die Excel dann speichere kommen sie auch nicht wieder. Aber das ist egal da ich die Buttons nicht brauche. Die Makros sind ja da.
2. Auch wenn ich auf 2 entfernen gehe, bleibt beim allerersten Wert 3 stehen. Aber auch das ist nicht schlimm da ich diese einzelne Zeile von Hand löschen kann.

Wichtige Frage da ich noch weitere Formeln in Spalten einfüge. Ich sah das Du in Spalte G eine Berechnung machst. Das bedeutet das ich die Spalte G nicht benutzen darf, richtig?

Gruß Arend

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: Herbert_Grom
Geschrieben am: 06.05.2021 17:16:17

Hallo Arend,

du schreibst: Das bedeutet das ich die Spalte G nicht benutzen darf, richtig?. Eigentlich richtig, da in deiner Beispiel-AM in G keine Daten waren. Du siehst, es ist immer wichtig, die B-AM immer genau dem Original-Layout anzugleichen, mit allen Überschriften etc. Falls du die Spalte G brauchst, können wir auch eine andere nehmen, die nicht verwendet wird. Falls ja, dann sag mir in welche Spalte/n ich die Hilfsspalte legen kann.

Servus

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: trader-hawk
Geschrieben am: 06.05.2021 17:28:56

Hallo Herbert,

es ist richtig das es eine Beispielmappe war da ich momentan noch selber nicht weis wieviel Spalten ich noch benötige, da ich auch noch einen Abgleich mit einem anderen Arbeitsblatt machen muss usw.

Wenn ich aber ab H weitermachen würde, ginge das oder werden dann die Spalten ab G nicht mehr sortiert? Wenn es ginge wäre es kein Problem - geht es nicht ist die Frage ob Deine Hilfsspalte immer die letzte sein muss oder ob sie auch z.b. auf Z stehen könnte?

Aber ich könnte es doch auch selber machen oder. Überall wo Du G stehen hast könnte ich durch eine andere Spalte ersetzen. Oder sehe ich das falsch.

Gruß Arend

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: Herbert_Grom
Geschrieben am: 06.05.2021 17:57:00

Dann sollte ich erst einmal wissen, was in deiner Spalte G jetzt steht, denn das würde alles mit sortiert werden und evtl. darin vorh. Formeln werden in Werte umgewandelt. Am besten wäre, du schickst mir eine Beispiel-AM die genau so aussieht, wie das Original, also mit allen beslegten Zeilen und Spalten!

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: trader-hawk
Geschrieben am: 06.05.2021 18:17:27

Noch steht nichts in Spalte G. Ich werde nur noch weitere Spalten benötigen die ich aber auch ab H anbringen kann. Die Spalte G könnte ich frei lassen wenn alles was nach G kommt auch sortiert wird, ist es kein Problem. Und wie gesagt könnte ich doch auch das G in Deiner Formel einfach ändern oder nicht?

Gruß Arend

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: trader-hawk
Geschrieben am: 06.05.2021 17:55:46

Noch eine andere Frage. Ich sah gerade das Du auf Spalte F zugreifst. Da steht ja der gekürzte Name drin aber die sortierung ist ja B,E,D. Was machst Du mit dieser Spalte F?

Gruß Arend

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: Herbert_Grom
Geschrieben am: 06.05.2021 17:58:29

Was steht da, wo ich auf die Spalte F zugreife?

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: trader-hawk
Geschrieben am: 06.05.2021 18:14:00


Columns("F:F").EntireColumn.AutoFit


.Offset(1, 6).FormulaLocal = "=WENN(F2<>F1;1;WENN(G1="""";"""";WENN(G1+1>2;"""";G1+1)))"

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: Herbert_Grom
Geschrieben am: 06.05.2021 18:20:42

Und was könnte das nun bedeuten: Columns("F:F").EntireColumn.AutoFit? Das bedeutet, dass die Spalte F auf die maximal benötigte Breite erweitert wird!

Und was steht über der 2. Zeile? Richtig, "Rangliste erstellen"! Alles klar?

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: trader-hawk
Geschrieben am: 06.05.2021 18:54:47

Herbert es funktioniert. Habe gerade ab Spalte H (G lies ich frei) weitere Daten eingegeben und alles wird mit sortiert. Problem gelöst. Spalte G lasse ich einfach frei.
Nochmal herzlichen Dank für Deine Hilfe.

Gruß Arend

nach oben  nach unten

Betrifft: AW: Bitte sehr & danke für die Rückmeldung! von: Herbert_Grom
Geschrieben am: 07.05.2021 09:08:56

Hallo Arend,

du solltest nur noch im Makro "Die_ersten_2_behalten" in der Zeile 40 folgendes ändern:

von so:
Range("$G$4:$G$" & lLastRow).EntireRow.Delete
nach so:
Range("$G$3:$G$" & lLastRow).EntireRow.Delete
Dann brauchst du 3. Zeile nicht mehr manuell zu löschen!

Servus

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: Herbert_Grom
Geschrieben am: 04.05.2021 17:26:06

Sorry, ich habe den 2. & 3. Wert vergessen! Ich schau mir das morgen noch mal an!

Servus

nach oben  nach unten

Betrifft: AW: Makro Duplikate bis auf 2 entfernen von: Herbert_Grom
Geschrieben am: 04.05.2021 17:31:17

Du schreibst: "die ersten 2 oder auch 3". Von welcher Spalte? Euro oder %?

Excel-Beispiele zum Thema "Makro Duplikate bis auf 2 entfernen"