Excel - VBA Makro zum vergleichen

Fabian

Erfahrenes Mitglied
Hallo,

ich hab irgendwo folgendes Script gefunden:

Code:
Sub VergleichKopieren()
    Dim rng As Range, rngCell As Range
    Dim iRow As Integer
    Set rng = Range("A1").CurrentRegion
    For Each rngCell In rng.Cells
        If WorksheetFunction.CountIf(rng, rngCell.Value) > 1 Then
            If WorksheetFunction.CountIf(Columns(3), rngCell.Value) < 1 Then
                iRow = iRow + 1
                Cells(iRow, 3).Value = rngCell.Value
            End If
        End If
    Next rngCell
End Sub

Das Script vergleich Spalte A + B und schreibt gefundene (= gleiche) Einträge in Spalte C. Ich bekomm es nicht hin, dass er einträge, die NICHT gleich sind in Spalte C schreibt.

Hat jemand Tipps? ;-)

Danke.
 
Hallo Fabian
Das Makro ‚Sub VergleichKopieren()’ führ keinen Vergleich durch (in den Tiefen von Excel, für den Anwender unsichtbar, schon) sondern zählt das Vorkommen der Elementen (Einträge). Kommt ein Element (Eintrag) öfter als einmal vor, wird das Elementen (Eintrag) in Spalte 3 ausgegeben.
Um diese Funktion umzudrehen
= Elemente (Einträge) die nur einmal vorkommen ausgeben
muss nur in der Zeile 6 der Ausdruck ‚> 1’ in ‚= 1’ geändert werden. Das neue Makro:

Code:
Sub NurEinmalig()
    Dim rng As Range, rngCell As Range
    Dim iRow As Integer
    Set rng = Range("A1").CurrentRegion
    For Each rngCell In rng.Cells
        If WorksheetFunction.CountIf(rng, rngCell.Value) = 1 Then
            If WorksheetFunction.CountIf(Columns(3), rngCell.Value) < 1 Then
                iRow = iRow + 1
                Cells(iRow, 3).Value = rngCell.Value
            End If
        End If
    Next rngCell
End Sub

Ist Das die Antwort die Du gesucht hast?

Walter Gutermann
 
Zurück