4.1k Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)
Hallo,

mit
ActiveSheet.Range("A1:C100").RemoveDuplicates Columns:=Array(1,2), Header:=xlYes
kann ich Duplikate löschen.
Gibt es diese Methode auch um ggf. Duplikate nur zu kennzeichnen/formatieren/zählen usw. Habe in den Hilfen nichts weiter gefunden.
Gruß Andreas

18 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Andreas,

habe meinen obigen Vorschlag in VBA umgesetzt.

Allerdings weiß ich nicht ob ich Dich richtig verstanden habe, da Karin's Makro in die andere Richtung geht, und Du Dich noch nicht dazu geäußert hast.

Makrovorschlad

Gruß
Rainer
0 Punkte
Beantwortet von
wenn du dir immer alles von andren vormachen läßt werden deine eigenen vba kenntnisse verkümmern


das finde ich gut [like it]
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo Karin,

der Code sollte mein Problem eigentlich lösen, aber beim Testen gab es kein entsprechendes Ergebnis. Bin noch nicht dahinter gekommen woran das liegen könnte. Hier einmal mein Testbeispiel:

1 Artikel1 Sorte1 Typ1
2 Artikel1 Sorte2 Typ2
22 Artikel1 Sorte3 Typ3
25 Artikel1 Sorte4 Typ4
5 Artikel1 Sorte5 Typ5
6 Artikel1 Sorte6 Typ6
7 Artikel1 Sorte7 Typ7
8 Artikel1 Sorte8 Typ8
9 Artikel1 Sorte9 Typ9
10 Artikel1 Sorte10 Typ10
11 Artikel1 Sorte11 Typ11
12 Artikel1 Sorte12 Typ12
10 Artikel1 Sorte10 Typ10
13 Artikel1 Sorte14 Typ14
5 Artikel1 Sorte15 Typ15
2 Artikel1 Sorte2 Typ2
17 Artikel1 Sorte17 Typ17
18 Artikel1 Sorte12 Typ12
19 Artikel1 Sorte12 Typ12
20 Artikel1 Sorte18 Typ18
2 Artikel1 Sorte2 Typ3
22 Artikel1 Sorte19 Typ19
Produktnummern 2 und 10 müssten eigentlich markiert werden...
Gruß Andreas
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo Rainer,

dein Testbeispiel ist etwas anders als meines, aber dein Code funktioniert einwandfrei. Ich muss mal sehen, wie ich ihn an mein Problem anpassen kann, er ist ja sehr variabel aufgebaut! In jedem Fall vielen Dank.
Gruß Andreas

P.S. An die "Kommentareschreiber"
Ein qualifizierter und kompetenter Beitrag zu dem Problem wie von Karin und Rainer geleistet wären mir lieber. Keine Angst und Sorge, ich lerne trotz der Hilfen eine ganze Menge und bin nach wie vor bemüht, eigene Lösungen zu finden!
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Andreas,

ich hatte deine Fragestellung anders interpretiert.

Zu deinem Beispiel: soll dabei 2 Artikel1 Sorte2 Typ2 und 2 Artikel1 Sorte2 Typ3 in diesem Fall auch als identisch ausgewiesen werden oder nur das mehrfache Auftreten von 2 Artikel1 Sorte2 Typ2?



Bis später,
Karin
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo Karin,
das letztere, mehrfaches Auftreten von : 2 Artikel1 Sorte2 Typ2 . SpalteA= 2 SpalteB= Artikel1 SpalteC=Sorte2 SpalteD= Typ2, also Gleichheit in in diesen 4 Spalten. Ggf können im Sheet mehr Spalten vorhanden sein, diese spielen aber für die Auswahl keine Rolle.
Danke für deine Geduld!
Gruß Andreas
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Andreas,

in diesem Fall würde ich in eine extra Spalte per VBA folgende Formel schreiben =A1&B1&C1&D1 und dann in einer Schleife über alle Zeilen laufen und prüfen, ob der zusammengesetzte Werte mehrfach vorkommt. Ich habe das mal für Spalte N gemacht - musst halt eine Spalte nehmen, die außerhalb deiner Daten liegt:

Sub MehrfacheMarkieren()
Dim rngZelle As Range
Dim intSpalte As Integer
Dim lngZeile As Long
Dim lngLetzte As Long
lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
Range(Cells(1, 14), Cells(lngLetzte, 14)).Formula = "=A1&B1&C1&D1"
For lngZeile = 1 To lngLetzte
If Application.CountIf(Columns("N"), Cells(lngZeile, 14)) > 1 Then
Range(Cells(lngZeile, 1), Cells(lngZeile, 4)).Interior.Color = 255
End If
Next lngZeile
Range(Cells(1, 14), Cells(lngLetzte, 14)).ClearContents
End Sub


Bis später,
Karin
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo Karin,

klappt einwandfrei. Die Zusatzspalte ist kein Problem. Vielen Dank!!!
Gruß Andreas
...