Microsoft Excel

Herbers Excel/VBA-Archiv

Spalten vergleichen

Betrifft: Spalten vergleichen von: Anja
Geschrieben am: 11.08.2004 20:04:11

Hallo
ich hab ein wahrscheinlich echt einfaches Problem steh aber grad auf dem Schlauch.

Ich hab 2 Spalten in denen jede Menge Computer aufgeführt sind mit ihrem Netzwerknamen. Ich will diese 2 Spalten vergleichen, also im Prinzip wissen welche PCs stehen in beiden Listen, welche nur in der ersten und welche nur in der zweiten.

Ich hoffe ihr könnt mir helfen.

Gruß
Anja

  


Betrifft: AW: Spalten vergleichen von: Thomas Scher
Geschrieben am: 11.08.2004 20:09:48

Hallo Anja,
dies ist hier aus dem Forum und markiert doppelte und kopiert sie in Tabelle 2 !!
Die Testdaten standen in Tabelle1 einfach untereinader kopiert !
Ich hoffe das hilft !!

Sub Vergleich()
   Dim iRowA As Integer, iRowB As Integer
   Dim iCol As Integer, iColor As Integer
   Dim iRowC As Integer
   Dim bln As Boolean, blnColor As Boolean
   iRowA = 2
   iColor = 2
   Do Until IsEmpty(Cells(iRowA, 1))
      iRowB = iRowA + 1
      Do Until IsEmpty(Cells(iRowB, 1))
         For iCol = 1 To 3
            If Cells(iRowA, iCol) <> Cells(iRowB, iCol) Then
               bln = True
               Exit For
            End If
         Next iCol
         If bln = False Then
            If blnColor = False Then
               iColor = iColor + 1
            End If
            If Cells(iRowB, 1).Interior.ColorIndex = _
               xlColorIndexNone Then
               If Cells(iRowA, 1).Interior.ColorIndex = _
                  xlColorIndexNone Then
                  With Worksheets(3)
                     iRowC = .Cells(Rows.Count, 1).End(xlUp).Row + 1
                     .Range(.Cells(iRowC, 1), .Cells(iRowC, 3)).Value = _
                        Range(Cells(iRowB, 1), Cells(iRowB, 3)).Value
                  End With
               End If
               Range(Cells(iRowA, 1), Cells(iRowA, 3)). _
                  Interior.ColorIndex = iColor
               Range(Cells(iRowB, 1), Cells(iRowB, 3)). _
                  Interior.ColorIndex = iColor
               blnColor = True
            End If
         End If
         iRowB = iRowB + 1
         bln = False
      Loop
      blnColor = False
      iRowA = iRowA + 1
   Loop
End Sub



Gruß
Thomas


  


Betrifft: AW: Spalten vergleichen von: Anja
Geschrieben am: 11.08.2004 20:27:38

Danke aber sieht ziemlich kompliziert aus.

Hab mir in zwischenzeit was eigenes gebastelt:

Dim Zeile, Zeile2

For Zeile = 2 To 1341
For Zeile2 = 2 To 1742
If Sheets("Abgleich").Cells(Zeile, 1).Value = Sheets("Abgleich").Cells(Zeile2, 2).Value Then
Sheets("Abgleich").Cells(Zeile, 1).Value = ""
Sheets("Abgleich").Cells(Zeile2, 2).Value = ""
End If
Next
Next

End Sub

Läuft zwar ne Weile erfüllt aber seine Zweck soll ja nur ein einmaliger Abgleich sein.

Gruß
Anja


 

Beiträge aus den Excel-Beispielen zum Thema "Spalten vergleichen"