Microsoft Excel

Herbers Excel/VBA-Archiv

Felder vergleichen und Zeilen ausgeben

Betrifft: Felder vergleichen und Zeilen ausgeben
von: sandra
Geschrieben am: 23.04.2003 - 09:48:57

Hi,
kennt einer eine schnelle Lösung, wie man aus zwei Exceltabellen 1 und 2 jeweils eine Spalte A, in der Zahlen stehen (ca. 100 Datensätze), vergleicht und die, die in A stehen, aber nicht B ausgibt. Allerdings nicht nur die Nummer, sondern auch das, was in der ganzen Zeile steht. Dieses Ergebnis sollte am besten noch in eine Datei ausgegeben werden.
Hat irgendeiner eine Idee?

Besten Dank im voraus.
sandra

  

Re: Felder vergleichen und Zeilen ausgeben
von: Harald Neumann
Geschrieben am: 23.04.2003 - 10:54:19

Hallo Sandra,

hier ein Ansatz aus meinem aktuellen Projekt, wo zwei Versionen einer Excel-Tabelle verglichen werden.

12 ist die Anfangszeile und 6 die Anfangsspalte "F"
Mit Do While klappere ich alle Bereiche ab und vergleiche die einzelnen Zellen.Wenn ein Unterschied gefunden wurde, werden diese Zellen mit weisser Schrift auf grauem Hintergrund gekennzeichnet.

If Application.Worksheets("Plan_Aktuell").Cells(12 + VersatzNachUnten, 6 + VersatzNachRechts) <> Application.Worksheets("Plan_History").Cells(12 + VersatzNachUnten, 6 + VersatzNachRechts) Then
Application.Worksheets("Plan_Aktuell").Cells(12 + VersatzNachUnten, 6 + VersatzNachRechts).Interior.Color = RGB(50, 50, 50)
Application.Worksheets("Plan_Aktuell").Cells(12 + VersatzNachUnten, 6 + VersatzNachRechts).Font.Color = RGB(255, 255, 255)
Application.Worksheets("Plan_History").Cells(12 + VersatzNachUnten, 6 + VersatzNachRechts).Interior.Color = RGB(50, 50, 50)
Application.Worksheets("Plan_History").Cells(12 + VersatzNachUnten, 6 + VersatzNachRechts).Font.Color = RGB(255, 255, 255)
Veränderung = Veränderung + 1
End If

Gruss Harald

  

Re: Felder vergleichen und Zeilen ausgeben
von: sandra
Geschrieben am: 23.04.2003 - 13:45:39

Hi,
das klappt so weit so gut, aber ist es dennoch möglich,
die Zeile(n) in den dritten Reiter zum Beispiel zu legen?
So könnte man sich doch nachher ohne Probleme nur die fehlenden Einträge anschauen. Was ist denn, wenn nicht das Gleiche in der Zeile 6 (z.B.) in Tabelle 1 wie in Tabelle 2 steht, sondern
erst in Zeile 7. Dann wird dies doch auch als fehlend markiert, oder?

Beste Grüße,
Sandra

  

Re: Felder vergleichen und Zeilen ausgeben
von: Harald Neumann
Geschrieben am: 23.04.2003 - 14:15:33

Hallo Sandra,

hier ist die komplette SUB:

Es müssen die Tabelle2,Tabelle3 und Tabelle4 vorhanden sein, oder
Du musst den Tabellennamen anpassen.

Sub Vergleichen()
Dim VersatzNachUnten

VersatzNachUnten = 1

Do While VersatzNachUnten < 200 ' Anzahl Zeilen anpassen
If Application.Worksheets("Tabelle2").Cells(VersatzNachUnten, 1).Value <> Application.Worksheets("Tabelle3").Cells(VersatzNachUnten, 1).Value Then
Application.Worksheets("Tabelle4").Cells(VersatzNachUnten, 1).Value = Application.Worksheets("Tabelle2").Cells(VersatzNachUnten, 1).Value
Application.Worksheets("Tabelle4").Cells(VersatzNachUnten, 1).Value = Application.Worksheets("Tabelle3").Cells(VersatzNachUnten, 1).Value
End If

VersatzNachUnten = VersatzNachUnten + 1
Loop

Application.Worksheets("Tabelle4").Activate
End Sub

  

Re: Felder vergleichen und Zeilen ausgeben
von: sandra
Geschrieben am: 24.04.2003 - 11:56:22

Hi,
erst einmal danke für das SUB, funktioniert soweit, aber (sorry) habe ich ein Problem:
Wenn in der ersten Tabelle in Spalte A in drei Zeilen 21 22 und 23 stehen, aber in der zweiten Tabelle in Spalte A in 2 Zeilen 21 und 23 stehen, gibt er die 23 auch als fehlend an, obwohl sie ja eigentlich vorhanden ist, nur eine Zeile tiefer steht.

Kannst Du mir da irgendwie weiter helfen?

 

Beiträge aus den Excel-Beispielen zum Thema "Felder vergleichen und Zeilen ausgeben"