Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: doppelte Einträge auf zwei Tabellenblätter markier

doppelte Einträge auf zwei Tabellenblätter markier
09.11.2012 14:53:52
rieckmann
Hallo,
ich suche ein Code womit ich zwei verschiedene Tabellenblätter in zwei verschiedenen Mappen per Auswahl öffnen kannn, dann durch Eingabe des Suchbereiches in beiden Blättern, die doppelten Einträge farbig markieren.
Geht das, und wie müsste dann der Code aussehen ?
Gruß
FR

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: doppelte Einträge auf zwei Tabellenblätter markier
09.11.2012 17:03:44
rieckmann
Hallo,
ich habe folgenden Code über einen CommandButton in Mappe2 eingefügt:
Private Sub CommandButton1_Click()
Dim wkbSrc As Workbook
Dim rCell As Range
Set wkbSrc = Workbooks("Mappe1")
For Each rCell In Range("A:A")
If rCell  "" Then
If Not wkbSrc.Worksheets(1).Range("A:A").Find(rCell) Is Nothing Then rCell.Interior.Color =  _
vbYellow
End If
Next rCell
End Sub

Mappe1 ist auch geöffnet, aber es kommt ein Laufzeitfehler (9) Index außerhalb des gültigen Bereiches.
Warum ?
Gruß
Fred

Anzeige
AW: doppelte Einträge auf zwei Tabellenblätter markier
11.11.2012 15:25:21
Matze,Matthias
Dieses Makro von : https://www.herber.de/mailing/029298h.htm
Tabellen vergleichen
Problem: Ich möchte 2 Tabellen in 2 Arbeitsmappen miteinander vergleichen und die Datensätze, die nicht doppelt vorkommen, in einer neuen Arbeitsmappe sammeln. Wie kann ich das Problem über VBA lösen?
könnte man umgestallten, lasse hier offen, dann kann ein Profi mal hier was bewirken.
Sub Vergleichen()
Dim wkb As Workbook
Dim wksA As Worksheet, wksB As Worksheet, wksC As Worksheet
Dim iWks As Integer, iRow As Integer, iRowT As Integer
On Error Resume Next
For iWks = 1 To 3
Set wkb = Workbooks("Mappe" & iWks)
Next iWks
If Err > 0 Or wkb Is Nothing Then
Beep
Err.Clear
MsgBox prompt:="Die 3 Arbeitsmappen sind nicht vorhanden!"
Exit Sub
End If
On Error GoTo 0
Set wksA = Workbooks("Mappe1").Worksheets(1) 'anpassen
Set wksB = Workbooks("Mappe2").Worksheets(1) 'anpassen
Set wksC = Workbooks("Mappe3").Worksheets(1) 'anpassen
iRow = 1
Do Until IsEmpty(wksA.Cells(iRow, 1))
If WorksheetFunction.CountIf( _
wksB.Columns(1), _
wksA.Cells(iRow, 1).Value) = 0 Then
iRowT = iRowT + 1
wksC.Cells(iRowT, 1).Value = wksA.Cells(iRow, 1).Value
wksC.Cells(iRowT, 2).Value = wksA.Parent.Name
End If
iRow = iRow + 1
Loop
iRow = 1
Do Until IsEmpty(wksB.Cells(iRow, 1))
If WorksheetFunction.CountIf( _
wksA.Columns(1), _
wksB.Cells(iRow, 1).Value) = 0 Then
iRowT = iRowT + 1
wksC.Cells(iRowT, 1).Value = wksB.Cells(iRow, 1).Value
wksC.Cells(iRowT, 2).Value = wksB.Parent.Name
End If
iRow = iRow + 1
Loop
End Sub
Gruß Matze
PS: Wenn du deinen Beitrag demnächst auf "offen" markiertst, werden das ALLE USER sehen und
dir somit schneller Antworten.

Anzeige
AW: doppelte Einträge auf zwei Tabellenblätter markier
11.11.2012 16:40:15
rieckmann
Hallo Matthias,
danke dir für die Antwort.
Ist mir gar nicht aufgefallen das der Beitrag nicht "offen" war !
Werde den Code nachher ausprobieren.
Gruß
Fred

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Doppelte Werte in Zwei Tabellenblättern Markieren


Schritt-für-Schritt-Anleitung

Um doppelte Werte in zwei Tabellenblättern farblich zu markieren, kannst du die folgenden Schritte ausführen:

  1. Öffne Excel und lade die beiden Arbeitsmappen (z.B. Mappe1 und Mappe2), die die zu vergleichenden Tabellenblätter enthalten.

  2. Füge einen CommandButton zu einem der Tabellenblätter in Mappe2 hinzu. Gehe dazu auf die Entwicklertools und wähle "Einfügen" > "Schaltfläche".

  3. Kopiere den folgenden VBA-Code in das Codefenster des CommandButtons:

    Private Sub CommandButton1_Click()
       Dim wkbSrc As Workbook
       Dim rCell As Range
       Set wkbSrc = Workbooks("Mappe1")
       For Each rCell In Range("A:A")
           If rCell <> "" Then
               If Not wkbSrc.Worksheets(1).Range("A:A").Find(rCell) Is Nothing Then
                   rCell.Interior.Color = vbYellow
               End If
           End If
       Next rCell
    End Sub
  4. Schließe den Visual Basic-Editor und kehre zu Excel zurück.

  5. Klicke auf den CommandButton, um die doppelten Werte in den beiden Tabellenblättern zu markieren.


Häufige Fehler und Lösungen

  • Laufzeitfehler (9) - Index außerhalb des gültigen Bereiches: Dieser Fehler tritt auf, wenn das angegebene Arbeitsblatt oder die Arbeitsmappe nicht geöffnet ist oder der Name falsch eingegeben wurde. Stelle sicher, dass die Namen der Arbeitsmappen und Blätter korrekt sind.

  • Keine Werte werden markiert: Überprüfe, ob die Daten in den Spalten, die du vergleichen möchtest, korrekt sind. Sie sollten sich in den gleichen Spalten in beiden Tabellenblättern befinden.


Alternative Methoden

Eine andere Möglichkeit, doppelte Werte aus zwei Tabellenblättern zu markieren, besteht darin, die bedingte Formatierung zu verwenden:

  1. Markiere den Bereich in deinem ersten Tabellenblatt, den du überprüfen möchtest.

  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.

  3. Wähle "Formel zur Ermittlung der zu formatierenden Zellen verwenden".

  4. Gib die folgende Formel ein:

    =ZÄHLENWENN(Tabelle2!A:A; A1) > 0
  5. Wähle das Format (z.B. eine Hintergrundfarbe), um die doppelten Werte hervorzuheben und klicke auf "OK".


Praktische Beispiele

Angenommen, du hast zwei Tabellenblätter mit den folgenden Werten:

Tabelle1:

A
1
2
3
4
5

Tabelle2:

A
3
4
5
6
7

Wenn du das Makro ausführst oder die bedingte Formatierung anwendest, werden die Werte 3, 4 und 5 in Tabelle1 farblich markiert.


Tipps für Profis

  • Wenn du doppelte Werte über mehrere Tabellenblätter markieren möchtest, passe den VBA-Code an, um weitere Arbeitsblätter einzuschließen.
  • Überlege, benutzerdefinierte Farben für die Hervorhebung zu verwenden, um verschiedene Arten von Duplikaten zu kennzeichnen.
  • Nutze die Funktion "Daten > Duplikate entfernen", um eine schnelle Überprüfung und Bereinigung deiner Daten durchzuführen.

FAQ: Häufige Fragen

1. Wie kann ich doppelte Werte in mehreren Tabellenblättern gleichzeitig markieren?
Du kannst den VBA-Code anpassen, um mehrere Tabellenblätter in einer Schleife zu durchlaufen und die doppelten Werte zu markieren.

2. Funktioniert diese Methode auch in Excel Online?
Die beschriebenen VBA-Methoden sind nicht in Excel Online verfügbar. Du kannst jedoch die bedingte Formatierung verwenden, um Duplikate farblich zu markieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige