Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen vergleichen und Bereiche verschieben

Zellen vergleichen und Bereiche verschieben
22.01.2009 22:44:29
Boulbadaoui
Hallo,
ich habe 2 Tabellen je 3 Spalte und mehrere Zeilen
Spalte A in Tabelle1(Bzw. in Tabelle 2) ab Zeile2 beinhalten PLZ Werte.
Die Aufgabe ist:
vergleichen Werten in A von Tabelle1 mit Werten in A von Tabelle2, falls die werte gleich sind, dann nichts machen, sonst komplette Bereich(A:C) in Tabelle2 um eine Zeile runter verschieben.
und dann geht die Überprüfung weiter bis letzte Zeile in Tabelle1
habe folgendes versucht aber es wird nur die Zelle An um eine Zeile runter verschoben!
__________________________________________________________

Sub Übereinstimmungen_finden()
Dim Letzte_Zeile As Long, Wiederholungen As Long, _
Suchbegriff As Range, Addresse As String, Mindestens_ein_Wert As Long
Application.ScreenUpdating = False
Letzte_Zeile = Range("A65536").End(xlUp).Row
For Wiederholungen = 2 To Letzte_Zeile
Mindestens_ein_Wert = 0
With Worksheets(1).Range(Cells(1, 1), Cells(Letzte_Zeile, 1))
Set Suchbegriff = .Find(What:=Cells(Wiederholungen, 1), LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
Addresse = Suchbegriff.Address
Do
Mindestens_ein_Wert = Mindestens_ein_Wert + 1
If Mindestens_ein_Wert > 1 Then
Suchbegriff.Rows.ClearContents
End If
Set Suchbegriff = .FindNext(Suchbegriff)
Loop While Not Suchbegriff Is Nothing And Suchbegriff.Address  Addresse
End If
End With
Next
Range(Cells(2, 1), Cells(Letzte_Zeile, 1)). _
SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub


____________________________________________________________________
haben vielleicht ein Tipp für mich! Danke im Voraus

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen vergleichen und Bereiche verschieben
23.01.2009 03:58:00
Wuxinese
Hallo Du, der Du keinen Namen hast,
ich bin mir nicht sicher, ob ich das richtig verstanden hab. So wie ich es verstanden hab, ist Deine Loesung aber reichlich kompliziert. Ich hab was gebastelt, vielleicht ist das ja das, was Du brauchst.
https://www.herber.de/bbs/user/58708.xls
Wenn beide Sheets identisch sein sollen, waere meiner Meinung nach eine Loesung mit Formeln besser, aber dazu kenne ich den Hintergrund Deines Problems zu wenig.
Gruss
Rainer
Anzeige
AW: Zellen vergleichen und Bereiche verschieben
23.01.2009 10:06:29
Mohamed
Hallo Reiner,
Danke für dein Tipp!
es hat funktioniert!
Mohamed
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellen vergleichen und Bereiche verschieben in Excel


Schritt-für-Schritt-Anleitung

Um Zellen in Excel zu vergleichen und Bereiche zu verschieben, kannst Du folgendes VBA-Skript verwenden. Es vergleicht die Werte in Spalte A von zwei Tabellen und verschiebt den gesamten Bereich (A:C) in Tabelle 2 um eine Zeile nach unten, wenn die Werte unterschiedlich sind.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code ein:
Sub Übereinstimmungen_finden()
    Dim Letzte_Zeile As Long, Wiederholungen As Long
    Dim Suchbegriff As Range, Addresse As String, Mindestens_ein_Wert As Long
    Application.ScreenUpdating = False
    Letzte_Zeile = Range("A65536").End(xlUp).Row
    For Wiederholungen = 2 To Letzte_Zeile
        Mindestens_ein_Wert = 0
        With Worksheets(1).Range(Cells(1, 1), Cells(Letzte_Zeile, 1))
            Set Suchbegriff = .Find(What:=Cells(Wiederholungen, 1), LookIn:=xlValues)
            If Not Suchbegriff Is Nothing Then
                Addresse = Suchbegriff.Address
                Do
                    Mindestens_ein_Wert = Mindestens_ein_Wert + 1
                    If Mindestens_ein_Wert > 1 Then
                        Suchbegriff.Rows.ClearContents
                    End If
                    Set Suchbegriff = .FindNext(Suchbegriff)
                Loop While Not Suchbegriff Is Nothing And Suchbegriff.Address <> Addresse
            End If
        End With
    Next
    Range(Cells(2, 1), Cells(Letzte_Zeile, 1)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Drücke ALT + F8, wähle das Makro Übereinstimmungen_finden und klicke auf Ausführen.

Nun werden die Zellen in Tabelle 1 mit den Zellen in Tabelle 2 verglichen. Wenn die Werte unterschiedlich sind, wird der gesamte Bereich nach unten verschoben.


Häufige Fehler und Lösungen

  • Fehler: Makro verschiebt nur eine Zelle

    • Lösung: Stelle sicher, dass Du den Bereich richtig definiert hast. Der Code sollte Range(A:C) in der entsprechenden Zeile verwenden.
  • Fehler: Keine Übereinstimmungen gefunden

    • Lösung: Überprüfe, ob die Werte in den Zellen exakt übereinstimmen, einschließlich Leerzeichen oder Formatierungen.

Alternative Methoden

Eine einfachere Möglichkeit, Zellen zu vergleichen, besteht darin, Excel-Formeln zu verwenden. Hier sind zwei Optionen:

  1. Verwenden der WENN-Funktion:

    • In einer neuen Spalte kannst Du mit =WENN(A2=B2; "Identisch"; "Unterschiedlich") die Zellen vergleichen.
  2. Bedingte Formatierung:

    • Markiere die Zellen in beiden Tabellen und gehe zu Start -> Bedingte Formatierung -> Neue Regel. Wähle „Formel zur Ermittlung der zu formatierenden Zellen verwenden“ und gebe eine Formel wie =A1<>B1 ein.

Praktische Beispiele

Stell Dir vor, Du hast zwei Tabellenblätter: Tabelle1 und Tabelle2. In Tabelle1 befinden sich PLZ in Spalte A, und Du möchtest diese mit den PLZ in Tabelle2 vergleichen. Mit dem oben genannten VBA-Code kannst Du schnell feststellen, welche PLZ nicht übereinstimmen und die entsprechenden Bereiche verschieben.


Tipps für Profis

  • Automatisierung: Du kannst das Makro so anpassen, dass es automatisch beim Öffnen der Datei ausgeführt wird. Füge dazu den Code in das Workbook_Open-Ereignis ein.
  • Performance-Optimierung: Verwende Application.Calculation = xlCalculationManual, um die Berechnungen während des Makro-Laufs zu deaktivieren und die Ausführung zu beschleunigen.

FAQ: Häufige Fragen

1. Frage
Wie kann ich mehrere Zellen gleichzeitig vergleichen?
Antwort: Du kannst den oben genannten VBA-Code anpassen, um mehrere Spalten zu vergleichen, indem Du die Schleife erweiterst.

2. Frage
Funktioniert dieser Ansatz in Google Docs?
Antwort: Nein, dieser VBA-Code ist spezifisch für Excel. In Google Docs müsstest Du die Funktionalitäten von Google Apps Script nutzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige