Supportnet / Forum / Tabellenkalkulation
frage zum doppelte Zellen finden Makro
Frage
Hallo allerseits,
ich habe hier im Forum folgendes Makro gefunden:
[quote][b]Sub doppelte()
Dim suchZeile As Long, doppelteZeile As Long, wert
Cells.Interior.ColorIndex = xlNone
suchZeile = 1
Do While suchZeile <= Cells(Rows.Count, 1).End(xlUp).Row
wert = Cells(suchZeile, 1).Value
For doppelteZeile = suchZeile + 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(doppelteZeile, 1).Value = wert Then
Cells(doppelteZeile, 1).Interior.ColorIndex = 3
End If
Next
suchZeile = suchZeile + 1
Loop
End Sub[/b][/quote]
von Jöke.
Wie muss ich dieses Makro abändern, wenn ich den Zellbereich A1:M525 durchsuchen will.
gruss
Antwort 1 von lancelot2005
Kleine Ergänzung.
Es sollen nur die doppelten Einträge pro Spalte markiert werden.
Es sollen nur die doppelten Einträge pro Spalte markiert werden.
Antwort 2 von JoeKe
Moin lancelot2005,
was meinst du mit:
Sollen nur Werte die in der selben Spalte doppelt vorkommen markiert werden , aber Werte die in unterschiedlcihen Spalten doppelt vorhanden sind nicht?
Wenn ja, dann so:
Option Explicit
Sub doppelte_Spalte()
Dim inSpalte As Integer, loZeile As Long, doAnzahl As Double
Cells.Interior.ColorIndex = xlNone
inSpalte = 1
Do While inSpalte < 14
For loZeile = 1 To 525
doAnzahl = Application.WorksheetFunction. _
CountIf(Range(Cells(1, inSpalte), Cells(525, inSpalte)), Cells(loZeile, inSpalte))
If doAnzahl > 1 Then
Cells(loZeile, inSpalte).Interior.ColorIndex = 3
End If
Next
inSpalte = inSpalte + 1
Loop
End Sub
Gruß
JöKe
was meinst du mit:
Zitat:
Es sollen nur die doppelten Einträge pro Spalte markiert werden.
Es sollen nur die doppelten Einträge pro Spalte markiert werden.
Sollen nur Werte die in der selben Spalte doppelt vorkommen markiert werden , aber Werte die in unterschiedlcihen Spalten doppelt vorhanden sind nicht?
Wenn ja, dann so:
Option Explicit
Sub doppelte_Spalte()
Dim inSpalte As Integer, loZeile As Long, doAnzahl As Double
Cells.Interior.ColorIndex = xlNone
inSpalte = 1
Do While inSpalte < 14
For loZeile = 1 To 525
doAnzahl = Application.WorksheetFunction. _
CountIf(Range(Cells(1, inSpalte), Cells(525, inSpalte)), Cells(loZeile, inSpalte))
If doAnzahl > 1 Then
Cells(loZeile, inSpalte).Interior.ColorIndex = 3
End If
Next
inSpalte = inSpalte + 1
Loop
End Sub
Gruß
JöKe

