4.9k Aufrufe
Gefragt in Tabellenkalkulation von seppo Einsteiger_in (21 Punkte)
Hallo miteinander,

ich hab ein kleines bis größeres Problem mit Excel und wär euch sehr dankbar, wenn ihr mir helfen könnt!!

hier die Problemstellung:
Ich habe zwei verschiedene Tabellen (Tabelle1: Referenztabelle, Tabelle 2: zu vergleichende Tabelle) mit jeweils 3 Spalten(Spalte1 und Spalte2 ist eine Zahl, Spalte3 besteht aus Buchstaben und Zahlen) und unterschiedlicher Zeilenanzahl!
Ich soll nun Tabelle2 mit Tabelle1 vergleichen und all diejenigen Zeilen die in Tabelle2 nicht vorkommen anschließend an Tabelle2 einfügen und farblich markieren!

Ich hoffe ihr könnt mir helfen und sag jetzt schon mal ein herzliches Dankeschön!!

Gruß
Sepp

7 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Sepp,

vielleicht findest Du hier ein Ansatz.
Tabelle vergleichen Link zur Datei

Gruß Hajo
0 Punkte
Beantwortet von seppo Einsteiger_in (21 Punkte)
leider finde ich keine passende Übereinstimmung mit meinem oben geschilderten Problem!
Ich hoffe mir kann trotzdem geholfen werden

Gruß Sepp
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

also erstmal dickes lob an hajo fuer die datei :-)

richtig lehrermaessig aufgebaut,einfach klasse :-))

da darf ich ja nicht zurueckbleiben ^^

mit einem unuebersichtlichen,ohne beschreibung,geschriebenen makro *grrr*

aber ^^

da ich farbwerte einsetze,duerfte die syntax leicht zu finden sein ,dieses gegen kopie befehle austauschen

Interior.ColorIndex = 3 ist rot fuer fehlende daten
Interior.ColorIndex = 6 ist gelb fuer nicht identische daten

allerdings sind meine testphasen recht kurz muss ich gestehen :-)

da ich mich kenne,sind fehler nicht ausgeschlossen :-))

Option Explicit
Sub vergleich()
Dim w1x As Integer, w2x As Integer, w3x As Integer, zaehler1 As Integer
Dim w1y As Long, w2y As Long, w3y As Long, zaehler0 As Long
Dim suche1, suche2 As Range
w1x = Workbooks(1).Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Column
w1y = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
w2x = Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Column
w2y = Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row
If w1x > w2x Then
w3x = w1x
Else
w3x = w2x
End If
If w1y > w2y Then
w3y = w1y
Else
w3y = w2y
End If
ReDim excel1(w3y, w3x) As Variant
ReDim excel2(w3y, w3x) As Variant
Sheets(2).Select
excel2() = Range(Cells(1, 1), Cells(w3y, w3x))
Sheets(1).Select
excel1() = Range(Cells(1, 1), Cells(w3y, w3x))
For zaehler0 = 2 To w3y
Set suche1 = Sheets(2).Range("A1:A" & w3y).Find(excel1(zaehler0, 1), Lookat:=xlWhole)
Set suche2 = Sheets(1).Range("A1:A" & w3y).Find(excel2(zaehler0, 1), Lookat:=xlWhole)
If Not suche1 Is Nothing Then
For zaehler1 = 2 To w3x
If excel1(zaehler0, zaehler1) <> "" And excel1(zaehler0, zaehler1) <> excel2(suche1.Row, zaehler1) Then
Sheets(1).Cells(zaehler0, zaehler1).Interior.ColorIndex = 6
End If
Next zaehler1
Else
Sheets(1).Range(Sheets(1).Cells(zaehler0, 1), Sheets(1).Cells(zaehler0, w3x)).Interior.ColorIndex = 3
End If
If Not suche2 Is Nothing Then
For zaehler1 = 2 To w3x
If excel2(zaehler0, zaehler1) <> "" And excel2(zaehler0, zaehler1) <> excel1(suche2.Row, zaehler1) Then
Sheets(2).Cells(zaehler0, zaehler1).Interior.ColorIndex = 6
End If
Next zaehler1
Else
Sheets(2).Range(Sheets(2).Cells(zaehler0, 1), Sheets(2).Cells(zaehler0, w3x)).Interior.ColorIndex = 3
End If
Next zaehler0
End Sub
0 Punkte
Beantwortet von seppo Einsteiger_in (21 Punkte)
Danke nighty, für deine Mühe, allerdings bin ich mit VBA völlig unbewandert und hab da jetzt das nächste Problem!!

Ich hab jetzt durch rumprobieren und andere Beiträge was versucht und zwar mit der Funktion WENN():

=WENN(VERGLEICH(A1;Tabelle1!A1:A7);"";Tabelle1!A1)

allerdings stimmt das nicht!!! könnt ihr mir irgendwie weiterhelfen???
er schreibt mir mit dieser Syntax alle Zeilen hin, ich bräuchte allerdings nur die Zeilen, die nur in Tabelle1 vorkommen!!
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi sepp ^^

da melden sich bestimmt gleich die formelfreaks und stehen dir zur seite,mit formeln hab ich nix im sinn :-))

gruss nighty
0 Punkte
Beantwortet von seppo Einsteiger_in (21 Punkte)
das wär der hammer!!
aber trotzdem danke
0 Punkte
Beantwortet von seppo Einsteiger_in (21 Punkte)
kann mir keiner helfen???
...