Anzeige
Archiv - Navigation
1956to1960
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

Doppelte Daten einer Spalte in mehreren Tabellenblättern

Doppelte Daten einer Spalte in mehreren Tabellenblättern
13.12.2023 14:16:53
Jennsnjoe
Hallo!

Ich suche nach einem Code mit dem ich doppelte Datensätze markieren kann.

Ich habe mehrere Tabellenblätter mit gleich aufgebauten Tabellen. Die Spalte G soll in allen Tabellenblättern auf doppelte Werte überprüft
und die Werte dementsprechend markiert werden.

Ich habe im Archiv etwas gefunden, der dortige Code funktioniert aber nicht.
Ich hoffe hier kann mir jemand weiterhelfen :-)

Viele Grüße

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Daten einer Spalte in mehreren Tabellenblättern
13.12.2023 14:25:51
daniel
hi
was hast du denn probiert und warum ist es gescheitert?
wie viele Zeilen haben deine Tabellen?
normalerweise kann man sowas relativ einfach mit Bedingter Formatierung und ZählenWenn oder Vergleich in der Regelformel erstellen.
Gruß Daniel
AW: Doppelte Daten einer Spalte in mehreren Tabellenblättern
13.12.2023 17:25:53
Jennsnjoe
Ich habe den Code dort kopiert und durchlaufen lassen, aber das hat eben nicht funktioniert.

Die Anzahl der Zeilen ist unterschiedlich.
Ich wüsste nicht wie man das mit bedingter Formatierung machen könnte, aber lasse mich natürlich gerne eines Besseren belehren.

Es soll so sein, dass alle Werte aus der Spalte G in allen Tabellenblättern geprüft werden, ob sie nur einmal vorkommen. Und bei Mehrfachnennung dann eben farblich markiert werden.
Anzeige
AW: Doppelte Daten einer Spalte in mehreren Tabellenblättern
13.12.2023 20:42:17
Piet
Hallo

probiere bitte mal diesen Code aus dem Internet aus. Ich habe auch zum erstenmal eine Bedingte Formatierung programmiert.
Tabellen die NICHT durchsucht werden sollen kannst du im Code überspringen. Nur den Tabellen Namen angeben. (GoTo nx)

mfg Piet

Sub Makro3()

Dim j As Integer
For j = 1 To Worksheets.Count
With Worksheets(j)
'unerwünschte Blätter überspringen
If .Name = "Nicht dieses Blatt" Then GoTo nx
.Columns("G").FormatConditions.Delete
.Columns("G").FormatConditions.Add Type:=xlExpression, _
Formula1:="=ZÄHLENWENN(G:G;G1)>1"
.Columns("G").FormatConditions(1).Interior.Color = RGB(0, 255, 0)
nx: 'überspringen
End With
Next j
End Sub
Anzeige
AW: Doppelte Daten einer Spalte in mehreren Tabellenblättern
15.12.2023 14:20:53
Jennsnjoe
Ich habe den Code durchlaufen lassen. Ich befürchte aber, dass die Tabellen immer nur in sich selbst geprüft wurden, aber eben nicht alle Tabellen miteinander gegengeprüft wurden. Es sollen eben alle Werte in Spalte G überprüft werden, ob sie in einer anderen Tabelle auch stehen.

Viele Grüße
AW: Doppelte Daten einer Spalte in mehreren Tabellenblättern
13.12.2023 20:48:28
Yal
Hallo Jenns,

versuche damit:
Sub markieren()

Dim dic
Dim ws As Worksheet
Dim Z As Range 'Z wie Zelle

'Dictionary
Set dic = CreateObject("Scripting.Dictionary")
'Sammeln
For Each ws In ThisWorkbook.Worksheets
For Each Z In ws.UsedRange.Columns(7)
dic(Z.Value) = dic(Z.Value) + 1
Next
Next
'Ablegen
For Each ws In ThisWorkbook.Worksheets
For Each Z In ws.UsedRange.Columns(7)
If dic(Z.Value) > 1 Then Z.Interior.ColorIndex = 3
Next
Next
End Sub


VG
Yal
Anzeige
AW: Doppelte Daten einer Spalte in mehreren Tabellenblättern
15.12.2023 14:17:16
Jennsnjoe
Hallo!
Also der Code funktioniert leider nicht. Es kommt die Meldung "Laufzeitfehler 5" und "Ungültiger Prozuduraufruf oder ungültiges Argument".
AW: Doppelte Daten einer Spalte in mehreren Tabellenblättern
15.12.2023 14:42:11
Yal
Hallo Jenns,

korrigierte Version. Ich habe ebenfalls vergessen zu erwähnen, dass diese Code in einem Modul und nicht in einem Arbeitsball-Codepane abgelegt weredn soll.

Sub markieren()

Dim dic
Dim ws As Worksheet
Dim Z As Range 'Z wie Zelle

'Dictionary
Set dic = CreateObject("Scripting.Dictionary")
'Sammeln
For Each ws In ThisWorkbook.Worksheets
For Each Z In Range(ws.Cells(1, "G"), ws.Cells(ws.Rows.Count, "G").End(xlUp))
dic(Z.Value) = dic(Z.Value) + 1
Next
Next
'Ablegen
For Each ws In ThisWorkbook.Worksheets
For Each Z In Range(ws.Cells(1, "G"), ws.Cells(Rows.Count, "G").End(xlUp))
If dic(Z.Value) > 1 Then Z.Interior.ColorIndex = 3
Next
Next
End Sub


VG
Yal
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige