Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Zwei Tabellen vergleichen

Betrifft: Zwei Tabellen vergleichen von: dieter
Geschrieben am: 24.10.2014 14:51:43

Hallo All,
Ich habe mir schon den Wolf gesucht und leider für meine Bedürfnisse nix passendes gefunden. Vielleicht habt Ihr eine Lösung über VBA.
Habe eine Tabelle1 mit bis jetzt ca. 5000 Einträgen, aber werden noch mehr.
Jetzt möchte ich das Einträge in Tabelle2 verglichen werden (ca. bis zu 40 neue Einträge) ob die in Tabelle1 vorhanden sind. Es könnte aber vorkommen das die Einträge etwas anders geschrieben sind wie in Tabelle1 Z.B. groß klein, Sonderzeichen usw. Diese gefundenen Zeilen möchte ich dann in einer List box eingelesen bekommen oder unter den neuen Zeilen Tabelle2 kopiert werden damit ich vergleichen kann ob vorhanden o. nur falsch anders geschrieben sind.
Unter Filtern habe ich es auch versucht aber geht nicht. Ich hoffe mal das mir jemand helfen könnte über VBA.
Habe sowas versucht aber nicht das was ich brauch:

Private Sub CommandButton3_Click()
Dim lRowTab1 As Long
Dim iCol As Integer

For lRowTab1 = 1 To 4500
  For iCol = 1 To 4400
    If Cells(lRowTab1, iCol) <> Worksheets("Tabelle2").Cells(lRowTab1, iCol) Then
      Cells(lRowTab1, iCol).Interior.ColorIndex = 6
    End If
  Next iCol
Next lRowTab1

End Sub

-----------------------------------------------------------------------------
Private Sub CommandButton4_Click()
Dim s As Integer
Dim z As Integer
z = Range("A65536").End(xlUp).Row
For s = z To 2 Step -1
    If Cells(s, 2) = Cells(s - 1, 2) Then
        Cells(s, 4) = "doppelt"
    End If
Next s

End Sub
Mfg.
dieter

  

Betrifft: AW: Zwei Tabellen vergleichen von: KlausF
Geschrieben am: 24.10.2014 17:47:06

Hallo Dieter,

mit Ähnlichkeiten von Strings ist das so eine Sache, das kann u.U. sehr aufwendig sein.
Es wäre gut, wenn Du mal eine Mustertabelle mailst. Wo stehen die Vergleichswerte
und wie und wo sollen die gefundenen Daten unter den "neuen Zeilen auf Tabelle2" stehen?

Gut wäre auch zu sehen, wie groß die Abweichungen der Strings zu den Originaldaten sein
können, also möglichst alle (viele) Unterschiedlichkeiten aufführen.
Vielleicht findet sich dann ein Sachkundiger.

Gruß
Klaus


  

Betrifft: AW: Zwei Tabellen vergleichen von: dieter
Geschrieben am: 24.10.2014 21:07:46

Hi Klaus,
Erst mal danke Deiner Antwort,
Hier was ich meine, das steht in Tabelle1 SpalteA, SpalteB die passende nr dazu. nicht relevant
Sehe Dir die Schreibweise mal an, Unterschiede. Wenn ich jetzt in Tabelle2 Z.B. da in einer zeile
Hit Mania-special Edition 2014 CD2 in der darunter Zeile gartenfeten Mix - Vol.08 schreibe und dann suchen lasse möchte ich als Ergebnis vorhanden haben ( kopiert ) weil es vorhanden ist nur anders geschrieben usw.

Hit Mania special edition 2014 CD1
Hit mania Special edition 2014 cd2
avicii - last dance - radio edit
Avicii - last dance mix edit
Gartenfeten Mix - Vol. 8
Gartenfeten Mix Vol.08
Deutsch auf Deutsch Teil 4
Deutsch auf Deutsch teil 5
Gartenfeten Mix Vol. 2
Gartenfeten Mix - Vol. 03
Gartenfeten Mix Vol. 3 Teil 2

Ich weiß nicht ob das dir jetzt sagt was ich möchte.
Mfg.
dieter


  

Betrifft: AW: Zwei Tabellen vergleichen von: KlausF
Geschrieben am: 26.10.2014 16:13:02

Hallo Dieter

[Ich weiß nicht ob das dir jetzt sagt was ich möchte.]
Nein, das sagt mir nichts, denn wie sollen bei Deiner Abfrage die beiden Zeilen mit den Anfängen
Deutsch ....
und
Avicii ...
gefunden werden? Die Strings sind doch gar nicht in Deiner Abfrage enthalten.

Ich habe Dir hier mal was gebaut. Gib mal ein Suchwort ein, z.B. Gartenfeten und Du bekommst dann
die vorhandenen 5 Zeilen ausgeworfen, bei Hit mania die 2 Zeilen. Groß- und Kleinschreibung spielt
keine Rolle. Wird die Suche gelöscht, löschen sich auch die Fundzeilen. Die Suche schaut nach „beinhaltet“.
Es macht also wenig Sinn nach z.B.
gartenfeten Mix - Vol.08
zu suchen, weil Du als Suchergebnis nur diese Zeile finden würdest (sofern sie korrekt geschrieben
und vorhanden ist). Beschränke Dich also auf ein oder zwei aufeinander folgende Wörter, von denen Du
sicher bist, dass sie in den Suchstrings enthalten sind.
Ähnlichkeitsvergleiche anderer Art wären extrem aufwendig. Die Zeit hätte ich momentan nicht.

https://www.herber.de/bbs/user/93381.xls

Ich hoffe, Du kannst damit etwas anfangen.

Gruß
Klaus


  

Betrifft: AW: Zwei Tabellen vergleichen von: dieter
Geschrieben am: 27.10.2014 13:47:21

Hallo Klaus,
Erst mal danke für die Arbeit und Deinen Versuch. Ich habe auch an so was ähnlichem gedacht und gebaut es über die Suche zu machen. Ist fast das selbe wie bei dir, nur das ich das gesuchte in eine andere Tabelle kopiere. Aber ist auch vllt. zu kompliziert wie du schon sagst. Von Prinzip muss er mir ja nur
eine Tabelle zu anderen vergleichen und das gefundene ( ähnliche ) raus schmeißen.
Ich werde mal weiter versuchen, trotzdem Vielen Dank für Deine Mühe und Arbeit.
vllt. weiß ja noch jemand eine Lösung oder was anderes ! , lasse deswegen mal als noch nicht beantwortet auf.

Mfg.

dieter


  

Betrifft: AW: Zwei Tabellen vergleichen von: KlausF
Geschrieben am: 27.10.2014 14:05:42

Hallo Dieter,

ich glaube kaum, dass sich noch jemand finden wird, ohne eine Arbeitsmappe von Dir
gesehen zu haben, aus der klar und deutlich hervorgeht wie der Datenaufbau aussieht
und wo und wie gefundene Daten ausgeworfen werden sollen. Mit Beispiel welche
Eingabe getätigt und welches Ergebnis erwartet wird.

Bei einem so komplexen Thema scheint mir ein wenig Vorarbeit von Dir angeraten ...

Gruß
Klaus


  

Betrifft: AW: Zwei Tabellen vergleichen von: dieter
Geschrieben am: 27.10.2014 18:27:02

Hallo Klaus,
Das mit dem suchen ist ja nicht schlecht, nur du musst jeden Titel oder Name einzeln eingeben, das wollte ich verhindern.
Ich habe da was gefunden, was fast super ist, nur er erkennt nicht alle Unterschiede.
Groß klein erkennt er, aber Sonderzeichen und Leerzeichen Z.B. nicht. !!
Des weiteren wenn ich die Tabellennamen von mir nehme läuft der Code auch nicht, bekomme Ihn nicht so richtig angepasst. Ändere ich die Tabellen in Tabelle1 und Tabelle2 geht er, aber wie gesagt, Leerzeichen und Sonderzeichen erkennt er dann auch nicht.
Hier mal der Code :

Private Sub CommandButton1_Click()
 Dim wksA As Worksheet
 Dim wksB As Worksheet
 Dim lngLetzteZeile As Long
 Dim strText As String
 Dim lngSpalte As Long
 Dim lngZeile As Long
 Set wksA = Tabelle2 'Anpassen!!!!!!!!
 Set wksB = Tabelle1 'Anpassen!!!!!!!!
 lngSpalte = 1

 lngLetzteZeile = wksA.Cells(wksA.Rows.Count, lngSpalte).End(xlUp).Row
 For lngZeile = 1 To lngLetzteZeile
  If Application.WorksheetFunction.CountIf(wksB.Columns(lngSpalte), wksA.Cells(lngZeile,  _
lngSpalte)) < 1 Then
   strText = strText & wksA.Cells(lngZeile, lngSpalte) & vbCrLf
  End If
 Next
 MsgBox strText, , "Es fehlen in: " & wksB.Parent.Name
 strText = ""
End Sub
Vllt kannst Du damit was anfangen und ändern. ???

mfg.
dieter


  

Betrifft: Mappe von: KlausF
Geschrieben am: 27.10.2014 19:18:12

Hallo Dieter, ich ändere ohne Mappe gar nichts.

Gruß
Klaus


 

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