Anzeige
Archiv - Navigation
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
864to868
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Suche ungleicher Daten

Suche ungleicher Daten
05.05.2007 11:37:00
Hugo
Hallo zusammen
Habe folgendes Problem:
Möchte Daten der Tabelle1 und Tabelle2 miteinander vergleichen und die Daten, die in der Tabelle2 vorkommen aber in der Tabelle1 nicht in die Tabelle 3 schreiben.
Verglichen werden müssen jeweils die Daten in der Spalte A+B
Besispiel:
Tabelle1
A B
02 Birnen
03 Birnen
02 Aepfel
Tabelle 2
A B
02 Birnen
03 Gurken
02 Salat
04 Trauben
02 Birnen
Tabelle 3
A B
03 Gurken
02 Trauben
02 Salat
Besten Dank für Eure Hilfe!
Gruss Hugo

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suche ungleicher Daten
05.05.2007 13:34:00
Christian
Hallo Hugo,
als Anatz:
Tabelle3

 AB
103Gurken
202Salat
304Trauben

Formeln der Tabelle
ZelleFormel
A1=WENN(B1="";"";INDEX(Tabelle2!A:A;VERGLEICH(B1;Tabelle2!B:B;0)))
B1{=WENN(ISTLEER(INDEX(Tabelle2!B:B;KKLEINSTE(WENN(ZÄHLENWENN(Tabelle1!$B$1:$B$100;Tabelle2!$B$1:$B$100)=0;ZEILE($1:$100)); ZEILE()))); "";INDEX(Tabelle2!B:B;KKLEINSTE(WENN(ZÄHLENWENN(Tabelle1!$B$1:$B$100;Tabelle2!$B$1:$B$100)=0;ZEILE($1:$100)); ZEILE())))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
MfG Christian

Anzeige
AW: Suche ungleicher Daten
06.05.2007 00:47:03
Hugo
Hallo Christian
Besten Dank für die Formel. (entspricht meinem Problem)
Gibt es auch eine Möglichkeit das Problem via VBA zu lösen?
Gruss Hugo

AW: Suche ungleicher Daten
06.05.2007 09:42:00
Christian
Hallo Hugo,
bestimmt, aber das ist dann eine Aufgabe für die VBA-Könner, deswegen lasse ich mal die Frage noch offen.
MfG Christian

AW: Suche ungleicher Daten
06.05.2007 09:47:05
Thomas
Der Code überprüft zunächst, ob die Zelle leer ist. Wenn dies nicht der Fall ist und die Zelle (Tabelle2) ungleich der gleichen Zellposition in Tabelle1 ist, dann wird der Begriff in die Tabelle3 geschrieben.
Bitte um Rücklauf
Option Explicit
Sub sortieren() Dim i As Integer For i = 1 To 20 If Sheets("tabelle2").Cells(i, 1) "" And Sheets("tabelle2").Cells(i, 1) Sheets("tabelle1") _ .Cells(i, 1) Then Sheets("Tabelle3").Cells(i, 1) = Sheets("TAbelle2").Cells(i, 1) End If Next End Sub


Anzeige
AW: Suche ungleicher Daten
06.05.2007 10:33:00
Hugo
Hallo Thomas
Danke für deine Hilfe.
Leider ist deine Lösung nicht ganz das was ich benötige.
Dein Code vergleicht den Inhalt der Zelle A1 in der Tabelle1 zu der Zelle A1 in der Tabelle 2.
Ich muss aber die Spalten A&B in der Tabelle 1 mit den Spalten A&B in der Tabelle 2
vergleichen und die Daten die nur in der Tabelle2 vorkommen in die Tabelle 3 schreiben.
Hast du für diese Problem auch eine Lösung?
Gruss Hugo

AW: Suche ungleicher Daten
06.05.2007 11:23:00
Hugo
Hallo Thomas
Danke für deine Hilfe.
Leider ist dein Lösung nicht ganz was ich benötige.
Dein Code sucht unterschiedliche Zeilen.
Ich benötige aber folgendes
Es sollen die Spalten A&B der Tabelle 1 mit der Spalten A&B der Tabelle 2 verglichen werden
und was nur in der Tabelle 2 vorkommt in die Tabelle 3 geschrieben werden.
Unter A&B verstehe ich, dass der Vergeich der zB Zelle A1 zusammen mit der Zelle B1 stattfinden soll.
Kann ich aber auch mit einer Hilfspalte lösen in der die Formel =A1&B1 steht.
Bespiel: Tabelle 2: A1 = 02 und B1 = Birne kommt 02 Birne nicht in der Tabelle 1 vor dann Eintrag in die Tabelle 3 A1 = 02 B1 Birne etc.
Besten Dank und Gruss
Hugo

Anzeige
AW: Suche ungleicher Daten
06.05.2007 13:03:53
Hugo
Hallo Thomas
Sorry habe keine Übung mit dem Forum habe meine Frage aus versehen geschlossen darum nochmals:
Danke für deine Hilfe.
Leider ist dein Lösung nicht ganz was ich benötige.
Dein Code sucht unterschiedliche Zeilen.
Ich benötige aber folgendes
Es sollen die Spalten A&B der Tabelle 1 mit der Spalten A&B der Tabelle 2 verglichen werden
und was nur in der Tabelle 2 vorkommt in die Tabelle 3 geschrieben werden.
Unter A&B verstehe ich, dass der Vergeich der zB Zelle A1 zusammen mit der Zelle B1 stattfinden soll.
Kann ich aber auch mit einer Hilfspalte lösen in der die Formel =A1&B1 steht.
Bespiel: Tabelle 2: A1 = 02 und B1 = Birne kommt 02 Birne nicht in der Tabelle 1 vor dann Eintrag in die Tabelle 3 A1 = 02 B1 Birne etc.
Besten Dank und Gruss
Hugo

Anzeige
AW: Suche ungleicher Daten
06.05.2007 16:25:00
Thomas
Kommunikation ist alles!
Jetzt sollte es Deinem Wunsch entsprechen:

Sub sortieren()
Dim i As Integer
For i = 1 To 20
If Sheets("Tabelle2").Cells(i, 1)  "" And _
Sheets("Tabelle2").Cells(i, 1) & _
Sheets("Tabelle2").Cells(i, 2)  _
Sheets("Tabelle1").Cells(i, 1) & _
Sheets("Tabelle1").Cells(i, 2) Then
Sheets("Tabelle3").Cells(i, 1) = Sheets("Tabelle2").Cells(i, 1)
Sheets("Tabelle3").Cells(i, 2) = Sheets("Tabelle2").Cells(i, 2)
End If
Next
End Sub


AW: Suche ungleicher Daten
06.05.2007 22:30:37
Gerd
Hallo Hugo,
oder so?

Sub test3()
Dim varA2 As Variant, varB2 As Variant, varTab2() As String
Dim varA1 As Variant, varB1 As Variant, varTab1() As String
Dim varTab3() As String, z As String, i As Long, x As Long, y As Long
With Worksheets("Tabelle2")
varA2 = .Range("A2:" & Range("A2").End(xlDown).Address)
varB2 = .Range("B2:B" & Range("A2").End(xlDown).Row)
End With
ReDim varTab2(1 To UBound(varA2))
For i = LBound(varA2) To UBound(varA2)
varTab2(i) = CStr(varA2(i, 1) & " " & varB2(i, 1))
Next
With Worksheets("Tabelle1")
varA1 = .Range("A2:" & Range("A2").End(xlDown).Address)
varB1 = .Range("B2:B" & Range("A2").End(xlDown).Row)
End With
ReDim varTab1(LBound(varA1) To UBound(varA1))
For i = LBound(varA1) To UBound(varA1)
varTab1(i) = CStr(varA1(i, 1) & " " & varB1(i, 1))
Next
ReDim varTab3(LBound(varA2) To UBound(varA2))
For i = LBound(varTab2) To UBound(varTab2)
z = varTab2(i)
On Error Resume Next
y = WorksheetFunction.Match(z, varTab1, 0)
If Err.Number  0 Then
varTab3(x + 1) = varTab2(i)
Err.Clear
x = x + 1
End If
Next
ReDim Preserve varTab3(1 To x)
With Worksheets("Tabelle3")
For i = 1 To UBound(varTab3)
.Range("A" & i + 1) = Split(varTab3(i), " ")(0)
.Range("B" & i + 1) = Split(varTab3(i), " ")(1)
Next
End Sub


Gruß Gerd

Anzeige
AW: Suche ungleicher Daten
07.05.2007 17:34:53
Hugo
Hallo Zusammen
Thomas: Bei dir erhalte ich immer noch nur den Unterschied der Zeilen.
Gerd: Bei deinem Code wird mir einfach die ganze Tabelle2 in die Tabell3 kopiert
Leider ist mein Wissen zu gering um zu verstehen was dein Code genau macht
ich verstehe nur das alle Daten der Tabelle1 und der Tabelle2 in einen temporären Speicher geschrieben werden. Aber wo findet der Vergleich statt was nur in der Tabelle2 vorkommt?
Ich möchte nur die Werte, die nur in der Tabelle2 vorkommen in die Tabelle3 schreiben.
Wenn ich manuell vorgehe um das Problem zu lösen sieht das so aus:
Ich nehme einen Wert aus der Tabelle2 und suche in der Tabelle1 ob dieser dort auch vorkommt. Wenn ja ok, wenn nein schreibe ich den Wert aus der Tabelle2 in die Tabelle3 usw bis alle Werte der Tabelle2 mit der Tabelle1 verglichen wurden und gegebenfalls in die Tabelle3 geschrieben wurden.
Vielleicht habt ihr noch eine Lösung.
Auf alle fälle Besten Dank für Eure Bemühungen.
Gruss Hugo

Anzeige
AW: Suche ungleicher Daten
07.05.2007 21:09:21
Gerd
Hallo Hugo,
ich habe den Code noch geringfügig ergänzt u. nachgetestet.
Wichtig ist, dass die Werte ab Zeile 2 beginnen u. die Spalten
A bzw. B in den drei Blättern das selbe Zellenformat haben.
Die Werte werden in Datenfelder gelesen, dort abgeglichen
u. die "einmaligen" nach "Tabelle3" eingelesen.

Sub test4()
Dim varA2 As Variant, varB2 As Variant, varTab2() As String
Dim varA1 As Variant, varB1 As Variant, varTab1() As String
Dim varTab3() As String, z As String, i As Long, x As Long, y As Long
With Worksheets("Tabelle2")
varA2 = .Range("A2:" & Range("A2").End(xlDown).Address)
varB2 = .Range("B2:B" & Range("A2").End(xlDown).Row)
End With
ReDim varTab2(1 To UBound(varA2))
For i = LBound(varA2) To UBound(varA2)
varTab2(i) = CStr(varA2(i, 1) & " " & varB2(i, 1))
Next
With Worksheets("Tabelle1")
varA1 = .Range("A2:" & Range("A2").End(xlDown).Address)
varB1 = .Range("B2:B" & Range("A2").End(xlDown).Row)
End With
ReDim varTab1(LBound(varA1) To UBound(varA1))
For i = LBound(varA1) To UBound(varA1)
varTab1(i) = CStr(varA1(i, 1) & " " & varB1(i, 1))
Next
ReDim varTab3(LBound(varA2) To UBound(varA2))
For i = LBound(varTab2) To UBound(varTab2)
z = varTab2(i)
On Error Resume Next
y = WorksheetFunction.Match(z, varTab1, 0)
If Err.Number  0 Then
varTab3(x + 1) = varTab2(i)
Err.Clear
x = x + 1
End If
On Error GoTo 0
Next
ReDim Preserve varTab3(1 To x)
With Worksheets("Tabelle3")
For i = 1 To UBound(varTab3)
.Range("A" & i + 1) = Split(varTab3(i), " ")(0)
.Range("B" & i + 1) = Split(varTab3(i), " ")(1)
Next
End With
End Sub


Gruß Gerd

Anzeige
AW: Suche ungleicher Daten
08.05.2007 14:53:00
Hugo
Hoi Thomas
Leider klappt es bei mir immer noch nicht. Es werden immer alle Daten der Tabelle2 in die Tabelle3
geschrieben. Ich habe den ganzen Text abgeschrieben aber auch ohne Erfolg.
Kannst du mal ins Beispiel schauen was ich den flasch mache.
https://www.herber.de/bbs/user/42346.xls
Besten Dank und Gruss
Hugo

AW: Suche ungleicher Daten
08.05.2007 21:37:42
Gerd
Hallo Hugo,
kleine Ursache, große Wirkung. Da habe ich doch tatsächlich mal wieder meinen Lieblingsfehler
eingbaut u. innerhalb der With - End With - Blöcke vergessen, vor "Range.." die Pünktchen zu
setzen. Dies fiel mir nicht auf, da ich nicht von der aktivierten Tabelle3 aus getestet habe u.
in meinen Testdaten die Bereichsgrößen in Tabelle1 u. Tabelle2 identisch waren.
Entschuldige bitte.
Eine kleine Einschränkung muss ich noch machen. Die Wörter in Spalten "B" sollten keine
Leerzeichen enthalten, sonst müsste man noch etwas ändern.
Den Code kannst Du von hier in ein Tabellenblatt kopieren u. von dort in ein Modul,
musst also nicht abtippen. Eine Rückmeldung, ob' s jetzt läuft ware nett.
Gruß Gerd

Sub test5()
Dim varA2 As Variant, varB2 As Variant, varTab2() As String
Dim varA1 As Variant, varB1 As Variant, varTab1() As String
Dim varTab3() As String, z As String, i As Long, x As Long, y As Long
With Worksheets("Tabelle2")
varA2 = .Range("A2:" & .Range("A2").End(xlDown).Address)
varB2 = .Range("B2:B" & .Range("A2").End(xlDown).Row)
End With
ReDim varTab2(1 To UBound(varA2))
For i = LBound(varA2) To UBound(varA2)
varTab2(i) = CStr(varA2(i, 1) & " " & varB2(i, 1))
Next
With Worksheets("Tabelle1")
varA1 = .Range("A2:" & .Range("A2").End(xlDown).Address)
varB1 = .Range("B2:B" & .Range("A2").End(xlDown).Row)
End With
ReDim varTab1(LBound(varA1) To UBound(varA1))
For i = LBound(varA1) To UBound(varA1)
varTab1(i) = CStr(varA1(i, 1) & " " & varB1(i, 1))
Next
ReDim varTab3(LBound(varA2) To UBound(varA2))
For i = LBound(varTab2) To UBound(varTab2)
z = varTab2(i)
On Error Resume Next
y = WorksheetFunction.Match(z, varTab1, 0)
If Err.Number  0 Then
varTab3(x + 1) = varTab2(i)
Err.Clear
x = x + 1
End If
On Error GoTo 0
Next
ReDim Preserve varTab3(1 To x)
With Worksheets("Tabelle3")
For i = 1 To UBound(varTab3)
.Range("A" & i + 1) = Split(varTab3(i), " ")(0)
.Range("B" & i + 1) = Split(varTab3(i), " ")(1)
Next
End With
End Sub


Anzeige
AW: Suche ungleicher Daten
08.05.2007 22:23:00
Hugo
Hoi Thomas
Jetzt funktioniert es wunderbar.
(Habe den Text nur abgeschrieben weil ich dachte, dass das Problem evtl durchs kopieren entstand)
Es ist nicht auszuschliessen, dass evtl. Daten mit Leerzeichen vorkommen.
Es kann auch vorkommen das in der Zelle der Spallte A kein Wert steht in der Spalte B jedoch schon.
Wenn es dir nichts ausmacht für diese 2 Probleme den Code noch anzupassen, wäre super.
Bin aber schon recht Dankbar mit dem Teil den du mir erstellt hast.
Bestn Dank für deine tolle Hilfe
Gruss Hug

AW: Suche ungleicher Daten
09.05.2007 07:42:44
Gerd
Hallo Hugo,
wegen Leerzeichen in B. Ersetze überall im Code " " durch ";"
Wegen leerer Zellen in A. Probiere einfach mal aus wie sich der Code verhält.
Gruß Gerd

Anzeige
AW: Suche ungleicher Daten
09.05.2007 11:04:00
Hugo
Hoi Gerd
Jetzt ist alles Super.
Vielen Dank und Gruss
Hugo
PS: Sorry, dass ich dich immer mit Thomas angeschrieben habe

AW: Suche ungleicher Daten
09.05.2007 21:27:00
Gerd
Hallo Hugo,
nobody is perfect. Macht nix. Danke für die Rückmeldung.
Gruß Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige