Ich möchte zwei Tabellen vergleichen

Hallo liebe Excel Experten,

ich möchte zwei Tabellen mit je 11 Spalten miteinander vergleichen. Aus technischen Gründen sind die beiden Tabellen (mit ca. 50 Leerzellen nach dem oberen Bereich von TAB 2 ) untereinander angeordnet. Hinzu kommt, dass die beiden Tabellen jeweils Importdaten aus 2 weiteren Tabellen holen.

Stellt sich so dar:

Tab 1 liefert Daten an den oberen Abschnitt von Tab 2 und Tab 3 liefert Daten an den untern Abschnitt von Tab 2
Tab 3 wird mauell mit neuen Daten aus einem weiteren Datenbank aktualisiert.

So entsteht ständig ein unterschied zwischen dem oberen und dem unteren Abschnitt von TAB 2.

Der obere TAB 2 Bereich erstreckt sich von A8: L500
Der untere TAB 2 Bereich erstreckt sich von A501: L1000

Interessant für mich sind die Spalten E und F

Spalte E beinhaltet jeweils die Seriennummern von Geräten und in Spalte F wird der jeweilige Status beschrieben (Betrieb, Lager oder Ausgesondert)

Werden durch die Aktualisierung von Tab 3 neue Aussonderungen gemeldet, wäre es nun super zu wissen welche Geräte im unteren Bereich von TAB 2 gemeint sind, die z.B. den neuen Vermerk „Ausgesondert“ haben, ohne den oberen und den unteren Bereich manuell miteinander vergleichen zu müssen.

Also bei neuen Aussonderungen im unteren Bereich von TAB 2 sollte dann das Wort „Ausgesondert“ ggf. in einer seperaten Spalte angezeigt werden. so könnte ich mittels Filter die neeuen ausgesonderten Werte ermitteln.

Schwierig, … gibt es für mein Problem vielleicht eine Lösung.

Ich bin bislang mit meinem bescheidenen Excelkenntnissen gescheitert.

Vielen Dank schon mal an die Experten die sich meines Problems annehmen.

VG von Lernfix

Folgendes Makro kann man verwenden

Sub Vergleich()
for oben = 1 to 500
for unten = 501 to 1000
if cells(oben,„E“) = cells(unten,„E“) then
if cells(oben,„F“) cells(unten,„F“) then
'Status ist unterschiedlich

'Hier kann man auch andere Aktionen ausführen
status = status + 1
cells(oben,„G“) = status
cells(unten,„G“) = status
'In Spalte G werden die unterschiedlichen Zeilen
'durchnummeriert

exit for
endif
endif
next
next
endsub

Hallo lernfix,

Schick mir mal die Tabelle (oder Teile) - da findet sich sicher eine Lösung, muss ich aber „live“ sehen!

Viele Grüße
Sun256

ich möchte zwei Tabellen mit je 11 Spalten miteinander
vergleichen.

Hallo Lernfix,

es ist eine interessante Aufgabe, die du dir gestellt hast. Ich würde dir schon gern dabei helfen. Da zu brauchte ich aber eine ähnliche, oder auch deine Datei, um selbst probieren zu können, bzw um auch die vorhandenen Beziehungen zu sehen. So ohne Datei-Vorgabe, nur nach dem, wie du es beschrieben hast, ist es mir nicht möglich konkret zu sagen wie du es machen könntest. Wenn du also möchtest, schreib mir hier über www eine email mit deiner Emailadresse. Ich antworte dir dann darauf, damit du meine Emailadresse bekommst, an welche du mir deine oder eine ähnliche Datei schicken kannst. Dann werde ich sehen, wie man eine solche Aufgabe lösen kann. Deine Datei wird von mir natürlich nie an irgend jemand andesres geschickt. Ich benötige sie nur, um konkret probieren und helfen zu können. Manchmal habe ich bei der Lösung solcher Probleme mehrmals die Datein schon hin und hergetauscht, mit dem Fragesteller. So kann man zusammen die beste Lösung finden.

Wenn du also willst, bis bald

Johannes E.

Vielen Dank für Deine Mühe aber irgendwie funktioniert das Makro bei mir nicht. Ich bekomme leider nichts nummeriert angezeigt. Muss ich irgendwelche Änderungen vornehmen.
oder ein Modul verwenden oder liegt es daran das die Daten nicht direkt in den Zellen stehen. Alle Werte werden werden importiert d.h. jede Zelle ist mit einer Formel unterlegt z.b.: =('PC_Abgleich_aktuell '!P23) Wie gesagt Excel steckt bei mir noch ein bisschen in den „Kinderschuhen“

Vorerst mal
Viele Grüsse von
Lernfix

Hallo Lernfix!

Dein Problem scheint mit einer WENN-abfrage lösbar zu sein. WENN-abfragen sind nach folgendem schema aufgebaut: WENN(Abfrage;Bedingung;DANN mach dies oder das)

Da mir deine Aufgabenstellung ohne Tabellenvorlage zu komplex ist, beschränke ich mich erstmal auf das wesentliche dabei:

Wenn also in Feld A1 (oder irgendeinem anderen Eingabe Feld deiner Wahl die Seriennummer eingetragen wird, die im Bereich oben (TAB" A8-a500) abgefragt werden soll, dann soll Ecxel verglecih, ob, bzw. was dazu im Bereich (TAB2, A501:a1000) eingetragen ist und einen entsprechende markierung ausgeben (oder z.B. die ganze ZEILE mit dem kompletten ) Eintrag.

Alle Eingaben für die Abfrage - mit Ausnahme des festlegens des absoluten Zellbezuges für das Abfrage-Feld (im Bespiel statt A1 dann $a$1), kannst du theor. mit der Maus einfach „durchklicken“ und nur die „;“ zwischen den Bereichen der WENN-Abfrage händisch eingeben und die Klammern natürlich.

bleibt noch eins:
gibts du nur immer eine Seriennummer ein oder gleich mehrere ? und wie soll dir Excel helfen, wenn du schon alles vorher eingetragen hast ? Autofilter setzen kann man auch ohne separates suchen nach bestimmten Einträgen.

z:b:"So entsteht ständig ein unterschied zwischen dem oberen und dem unteren Abschnitt von TAB 2.

Der obere TAB 2 Bereich erstreckt sich von A8: L500
Der untere TAB 2 Bereich erstreckt sich von A501: L1000)" scheint, als würde dein unterer Teil nur mit einem Feld aus dem oberen Teil verglichen/aktualisiert werden, nicht mit der ganze Zeile, wie es ein müsste.

Es scheint, das das das eigentliche Problem ist.
Korrigiere mich, wenn ich mich irre.

Fehlermeldung nach Aufruf?
Um das Arbeiten des Makros zu sehen kann man ergänzen:

Sub Vergleich()
For oben = 1 To 500
Application.StatusBar = "Suche Maschine in Zeile " & CStr(oben)
For unten = 501 To 1000
If Cells(oben, „E“) = Cells(unten, „E“) Then
If Cells(oben, „F“) Cells(unten, „F“) Then
'Status ist unterschiedlich

'Hier kann man auch andere Aktionen ausführen
Status = Status + 1
Cells(oben, „G“) = Status
Cells(unten, „G“) = Status
'In Spalte G werden die unterschiedlichen Zeilen
'durchnummeriert

Exit For
End If
End If
Next
Next
Application.StatusBar = „Fertig“
End Sub

Man muss natürlich das Makro zuerst eintragen.
1.Visual Basic Editor aufrufen (Alt+F11)
2.Modul einfügen, falls keines vorhanden ist
3.Code in Modul kopieren
4.Visual Basic Editor schliessen
5.Schaltfläche in Excelsheet einfügen und mit Makro belegen
6. Makro durch Klick auf Schaltfläche starten

Hallo Lernfix,

So wie ich es jetzt verstanden habe, sollte dass mit einem SVerweis zu lösen sein.

Dein Suchkriterium, wäre dann, im zu ergänzenden Teil, die Spalte E.
Die Matrix ist dann die Daten die komplett sind, aber nur E und F markieren (die Seriennummer muss am Anfang der Matrix stehen).
Spaltenindex ist dann die Spalte die du sehen willst, also in deinem Fall die 1.
Bereich_Verweis Falsch reinschreiben, dass heisst er sucht einen eindeutigen Wert. Wenn dieses Feld leer oder Wahr drin steht, dann suchter er auch nur einen ungefähren Wert.

Hoffentlich habe ich dass einigermassen logisch erklärt :wink:)
Wünsche noch viel Spass und einen schönen Sommer

Gruss Winu

Hallo, das ist eine umfangreiche Aufgabe. Leider habe ich zur Zeit keine Zeit dafür. Spontan fällt mir aber die bedingte Formatierung ein, mit der man Zellen und werte vergleichen kann und zumindest farblich hervorheben kann. Mit dem Eintrag „Ausgesondert“ könnte mit einer „Wenn-Funktion“ geelöst werden, die einen Text ausgibt. Aber leider habe ich zur Zeit leider keine Zeit. Tut mir leid.

Viel Erfolg wünscht Roland57

Hallo Lernfix,

bin gerade erst aus dem Urlaub urück.
Ist Dein Problem schon gelöst?

Wenn nicht, kannst Du mir gerne eine
Beispieldateischicken und ich gucke mir
das mal an.

Viele Grüße
Carsten

Hallo Siegfied,
es funzt. Supper!!!
Vielen Dank für Deine kompetente Hilfe
Dir noch ein schönes Wochenende
Viele Grüsse von Lernfix

Das Problem ist, dass die Excel-Tabelle nicht weiss, welche Werte neu ausgesondert sind. Du kannst jederzeit einen Filter über „ausgesondert“ laufen lassen, aber ohne Füllen von Datum, wirst Du keine Ergebnisse bekommen können, die einen tagesaktuellen Neuzustand bieten. Wenn, dann könnte man über wenn-dann eine einfache Zeilenabfrage mit Datum machen und eine neue Spalte füllen.

Viele Grüße
Alexa

Hallo Lernfix,

hätte da ein VBA Lösung:

Sub test()
Dim merk As String
Dim i As Integer
Dim i2 As Integer

i = 0
i2 = 1
Range(„E1“).Select

Do
Do
merk = ActiveCell.Value
If Range(„E“ & 50 + i).Value = merk Then

If Range(„E“ & 50 + i).Offset(0, 1).Value = „Ausgesondert“ Then
ActiveCell.Offset(0, 10).Value = „Ausgesondert“ 'oben
Range(„E“ & 50 + i).Offset(0, 10).Value = „Ausgesondert“ 'unten
End If
End If
i = i + 1
Loop Until i = 50
i = 0
ActiveCell.Offset(1, 0).Select
i2 = i2 + 1
Loop Until i2 = 50

End Sub

Erklärung:
springt in die Zelle E1 -> merkt sich den Wert -> vergleicht den Wert mit der Zelle die 50 Zeilen tiefer liegt -> bei Übereinstimmung prüft wer den Wert eine Spalte weiter ob da „Ausgesondert“ steht, wenn ja schreibt wer 10 Spalten weiter rechts den Text „Ausgesondert“, in dem Fall einmal in der oberen und ein mal in der untern Hälfte -> wenn nicht geht er eine Zeile tifer -> dann das gleich in einer Schleife bis er 50 Zeilen durch hat -> daraufhin wird die zweite schleife um 1 erhöt, und er merkt sich den Wert aus der Zelle E2 -> usw. usw. bis er auch in der zweiten Schleife die 50 Zeilen erreicht hat.

mfg
rolandaa

Vielen Dank für Deinen Hilfeversuch. Die perfekte Lösung habe ich von Siegfried Schwemmer erhalten.

VG Lernfix

Vielen Dank für Deinen Hilfeversuch. Die perfekte Lösung habe ich von Siegfried Schwemmer erhalten.

VG Lernfix.

Vielen Dank für Deinen Hilfeversuch. Die perfekte Lösung habe ich von Siegfried Schwemmer erhalten.

VG Lernfix…

Vielen Dank für Deinen Hilfeversuch. Die perfekte Lösung habe ich von Siegfried Schwemmer erhalten.

VG Lernfix…

Vielen Dank für Deinen Hilfeversuch. Die perfekte Lösung habe ich von Siegfried Schwemmer erhalten.

VG Lernfix…

Vielen Dank für Deinen Hilfeversuch. Die perfekte Lösung habe ich von Siegfried Schwemmer erhalten.

VG Lernfix…