online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon freysein vom 01.05.2019, 18:42 Options

zwei tabellen vergleichen

Hallo Ich habe folgendes Problem.
Ich habe zwei Tabellen in der einen steht in jeder Zeile ein Datensatz aus Datum Rechnungsnummer Kundennummer und Betrag (jedes in einer eigenen Zelle) in der anderen Tabelle habe ich eine Zeile in der Verwendungszweck, und Betrag stehen. Ich wurde nun gerne von einem Makro überprüfen lassen ob es übereinstimmungen gibt zwischen Tabelle 1 und 2.
Mein Problem ist dass in der Zelle Verwendungszweck mehrer Attribute wie Kundennummer, Rechnungsnummer stehen können.

Ich stelle mir das Makro wie folgt vor:

Tabelle 1

KdNr | RGNR | Betrag |
20001 | 2 | 21,25|

Tabelle 2
Verwendungszweck | Betrag|
20001 RG2| 21,25| 3 Übereinstimmungen
2 | 21,25 | 2 Übereinstimmungen
KD20001 | 21,25 | 2 Übereinstimmungen
2 KDNR 20001| 1002,21 | 2 Übereinstimmugen

Ntürlich wenn ein wert nur einmal in einer Zeile von Tabelle 2 vorkommt 1 Übereinstimmung.

Ich hoffe ihr habt meine konfusen Gedanken verstanden. Vielen Dank für die Hilfe schon mal im voraus.


Antwort schreiben

Antwort 1 von nighty vom 01.05.2019, 20:40 Options

hi freysein :-)

probier das mal,nur kurz getestet :-)

gruss nighty

Option Explicit
Sub vergleich()
Dim w3x As Integer
Dim w3y As Long
Dim zaehler0 As Long
Dim zaehler1 As Integer
Dim zaehler2 As Integer
Dim suche1 As Range
Dim suche2 As Range
w3y = Workbooks(1).Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
w3x = 3
ReDim excel1(w3y, w3x) As Variant
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:=xlPart)
If Not suche1 Is Nothing Then
For zaehler1 = 1 To w3x
Set suche2 = Sheets(2).Range("A" & suche1.Row & ":C" & suche1.Row).Find(excel1(zaehler0, zaehler1), Lookat:=xlPart)
If Not suche2 Is Nothing Then
zaehler2 = zaehler2 + 1
End If
Next zaehler1
End If
If Not suche1 Is Nothing Then Sheets(2).Cells(suche1.Row, 4) = zaehler2
zaehler2 = 0
Next zaehler0
End Sub

Antwort 2 von nighty vom 02.05.2019, 10:47 Options

hi freysein :-)

ups :-)

korrigiert,so müsste es funktionieren :-)))

gruss nighty

Option Explicit
Sub vergleich()
Dim w3x As Integer
Dim w3y As Long
Dim zaehler0 As Long
Dim zaehler1 As Integer
Dim zaehler2 As Integer
Dim suche1 As Range
Dim suche2 As Range
w3y = Workbooks(1).Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
w3x = 3
ReDim Excel1(w3y, w3x) As Variant
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:=xlPart)
If Not suche1 Is Nothing Then
For zaehler1 = 1 To w3x
Set suche2 = Sheets(2).Range("A" & suche1.Row & ":C" & suche1.Row).Find(Excel1(zaehler0, zaehler1), Lookat:=xlPart)
If Not suche2 Is Nothing Then
If Sheets(2).Cells(suche1.Row, zaehler1) <> Excel1(suche2.Row, zaehler1) Then
zaehler2 = zaehler2 + 1
End If
Else
zaehler2 = zaehler2 + 1
End If
Next zaehler1
End If
If Not suche1 Is Nothing Then Sheets(2).Cells(suche1.Row, 4) = zaehler2
zaehler2 = 0
Next zaehler0
End Sub

Antwort 3 von freysein vom 03.05.2019, 12:52 Options

Dumme frage aber wie wende ich das script an? ;-)

Antwort 4 von nighty vom 03.05.2019, 12:59 Options

hi freysein :-)

tabell1 wird mit tabelle2 verglichen,ausgehend von 3 spalten,es wird die anzahl der unstimmigkeiten in tabelle2 spalte 4 dargestellt

gruss nighty

einzufuegen

alt + f11 öffnet den projektexplorer

einfuegen/modul
da dann einfuegen
f5 ist fuer start

alternativ

extras/makro/makros

makro anwaehlen/optionen/taste zuweisen

Antwort 5 von freysein vom 03.05.2019, 16:43 Options

Vielen Dank nightly,

aber bei mir tut sich nix, er springt zwar in tabellenblatt "Tabelle1" wenn ich mich in der "Tabelle2" befinde aber schreibt mir keine übereinstimmungen in die 4. Spalte, liegt es vielleicht daran dass ich Excel 2007 benutze?

Antwort 6 von nighty vom 04.05.2019, 09:02 Options

hi freysein :-)

möglich,mit office2007 kenne ich mich nicht aus,das makro ist mit excel2003 entwickelt und geprüft worden,dann kann ich leider nicht weiterhelfen

gruss nighty

Ähnliche Themen

Tabellen vergleichen
neuling03  21.03.2007 - 483 Hits -

2 Excel-Tabellen vergleichen und neue Tabelle erstellen
Menke  26.02.2008 - 1295 Hits - 1 Antwort

2 spalten aus 2 Exceltabellen vergleichen
judipauli  29.04.2008 - 1109 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Sun Jan 25 18:15:21 2026