Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1900to1904
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - doppelte Einträge finden und mark.

VBA - doppelte Einträge finden und mark.
22.09.2022 14:07:50
jhaustein
Hallo Gemeinschaft,
binauf der suche nach einem VBA Script, welches mir doppelte Eintträge in einer Spalte findet und eine Spalte daneben ein "x" setzt
könnt ihr mir dabei bitte helfen

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - doppelte Einträge finden und mark.
22.09.2022 14:18:37
UweD
Hallo
per Formel (kannst du auch per VBA so setzen)

in C1     =WENN(ZÄHLENWENN(A:A;A1)>1;"x";"")
LG UweD
AW: VBA - doppelte Einträge finden und mark.
22.09.2022 14:22:50
jhaustein
Hallo Uwe,
wie würdest du es denn in vba umsetzen
lieben gruss
AW: VBA - doppelte Einträge finden und mark.
22.09.2022 14:38:28
UweD
So?

Sub XXXX()
Dim Sp As Integer, Z1 As Integer, LR As Integer
Sp = 1 'Spalte A
Z1 = 2 'Wegen Überschrift
With ActiveSheet
LR = .Cells(.Rows.Count, Sp).End(xlUp).Row 'letzte Zeile der Spalte
With .Cells(Z1, Sp + 1).Resize(LR - Z1 + 1, 1)
.FormulaR1C1 = "=IF(COUNTIF(C[-1],RC[-1])>1,""x"","""")"
.Value = .Value
End With
End With
End Sub
Eingetragen wird in der Folgespalte
LG UweD
Anzeige
AW: VBA - doppelte Einträge finden und mark.
22.09.2022 14:40:13
Daniel
Hi
Die Formel kann man auch per VBA einfügen

With ActiveSheet.Usedrange
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "= If(CountIf(C1,RC1)=1,"""",""x"")"
End With
End With
Das C1 steht hier für "Column 1" also Spalte A, für andere Spalten einfach die Nummer ändern
Gruß Daniel
AW: VBA - doppelte Einträge finden und mark.
22.09.2022 14:23:07
Nepumuk
Hallo,
teste mal:

Option Explicit
Public Sub Dubletten_markieren()
Const SEARCH_COLUMN As Long = 1 'A
Dim objCell As Range
Dim objDictionary As Object
Set objDictionary = CreateObject(Class:="Scripting.Dictionary")
With objDictionary
For Each objCell In Range(Cells(1, SEARCH_COLUMN), Cells(Rows.Count, SEARCH_COLUMN).End(xlUp))
If .Exists(Key:=objCell.Text) Then
objCell.Offset(0, 1).Value = "x"
.Item(Key:=objCell.Text).Offset(0, 1).Value = "x"
Else
Set .Item(Key:=objCell.Text) = objCell
End If
Next
End With
Set objDictionary = Nothing
End Sub
Gruß
Nepumuk
Anzeige
AW: VBA - doppelte Einträge finden und mark.
22.09.2022 14:28:23
jhaustein
meine werte stehen in der spalte 38

Option Explicit
Public Sub Dubletten_markieren()
Const SEARCH_COLUMN As Long = 38 'A
Dim objCell As Range
Dim objDictionary As Object
Set objDictionary = CreateObject(Class:="Scripting.Dictionary")
With objDictionary
For Each objCell In Range(Cells(1, SEARCH_COLUMN), Cells(Rows.Count, SEARCH_COLUMN).End(xlUp))
If .Exists(Key:=objCell.Text) Then
objCell.Offset(0, 1).Value = "x"
.Item(Key:=objCell.Text).Offset(0, 1).Value = "x"
Else
Set .Item(Key:=objCell.Text) = objCell
End If
Next
End With
Set objDictionary = Nothing
End Sub
läuft einmal durch - aber es passiert sonst nichts
Anzeige
AW: VBA - doppelte Einträge finden und mark.
22.09.2022 14:34:54
Nepumuk
Hallo,
kann ich nicht nachvollziehen, bei mit funktioniert es. Kannst du deine Mappe mit der Spalte hochladen?
Gruß
Nepumuk
AW: VBA - doppelte Einträge finden und mark.
22.09.2022 16:09:48
UweD

Sub XXXX()
Dim Sp As Integer, Z1 As Integer, LR As Integer
Sp = 9 'Spalte A
Z1 = 2 'Wegen Überschrift
With ActiveSheet
LR = .Cells(.Rows.Count, Sp).End(xlUp).Row 'letzte Zeile der Spalte
With .Cells(Z1, Sp + 1).Resize(LR - Z1 + 1, 1)
.FormulaR1C1 = "=IF(COUNTIF(C[-1],RC[-1])>1,""x"","""")"
.Value = .Value
End With
End With
End Sub

Anzeige
AW: VBA - doppelte Einträge finden und mark.
22.09.2022 16:10:42
Nepumuk
Hallo,
wie kommst du auf Spalte 38? Spalte I = 9. Also:

Const SEARCH_COLUMN As Long = 9 'I
Gruß
Nepumuk
AW: VBA - doppelte Einträge finden und mark.
22.09.2022 16:15:53
jhaustein
kürzere Darstellung
AW: VBA - doppelte Einträge finden und mark.
22.09.2022 14:46:13
Daniel
Hi
Du kannst dir auch über die Bedingte Formatierung die Duplikate anzeigen lassen.
Dann könntest du nach der Farbe in der Spalte filtern und in eine freie Spalte die x schreiben.
Für die optimale Lösung sollte man aber noch wissen:
- sollen bei einem Duplikat beide Zeilen markiert werden User nur die Wiederholungszeile?
- wie groß ist die Liste
- muss das ganze dynamisch sein, dh du bearbeitet die Liste und dann verschwinden die x automatisch?
Gruß Daniel
Anzeige
Ohne VBA / mit bedingter Formatierung
22.09.2022 14:46:44
UweD
- Start, Bedingte Formatierung, Neue Regel
- Formel zur Ermittlung...
- als Formel dann

=ZÄHLENWENN($A:$A;$A1)>1
- Format festlegen
- OK, OK
Arbeitsblatt mit dem Namen 'Tabelle1'
 A
1Aaa
2sds
3ss
4sds
5Aaa
61
72
83
91
102
11ww

Zellebedingte Formatierung...Format
A11: ZÄHLENWENN($A:$A;$A1)>1abc

LG UweD
Anzeige
AW: VBA - doppelte Einträge finden und mark.
22.09.2022 14:49:57
GerdL
Moin j

Sub Unit_Duplicates()
Dim C As Range, O As Object
With Columns(38)
If Application.CountA(.Cells) = 0 Then Exit Sub
Set O = CreateObject("scripting.dictionary")
For Each C In .SpecialCells(2)
If O.Exists(C.Text) Then
C.Offset(0, 1) = "X"
Else
O.Add Key:=C.Text, Item:=0
End If
Next
End With
O.RemoveAll: Set O = Nothing
End Sub
Gruß Gerd
AW: VBA - doppelte Einträge finden und mark.
22.09.2022 15:54:18
jhaustein
läuft leider nicht durch
AW: VBA - doppelte Einträge finden und mark.
22.09.2022 16:27:42
GerdL
Mache aus Columns(38) dann Columns(9)
Anzeige

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige