Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
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
Inhaltsverzeichnis

Vergleich

Vergleich
KON
Hallo Tino,
super Klasse ,das funktioniert. Besonders geil und hilfreich wäre es wenn jetzt noch die Mengen aus Spalte G von Tabelle 2 in Spalten D vom Ergebnis eingetragen würde.
Vorerst vielen Dank, das Ergebnis bisher ist Spitzenklasse.
Viele Grüße
KON
Hallo Experten,
ich habe da eine Herausforderung für euch die mir sehr helfen würde.
Bei 2 Tabellen die Artikelnummer vergleichen und bei Übereinstimmung die Daten bei Tabelle 1 aus Spalte D und bei Tabelle 2 aus Spalte H nebeneinander in neues Tabellenblatt eintragen. Bei Tabelle 1 steht die Artikelnummer in Spalte B und bei Tabelle 2 steht die Artikelnummer in Spalte E.
Danke Für die Hilfe
Gruß
KON
Hallo,
es sollt nur die erste Übereinstimmung übernommen werden und erst ab Zeile 2.
Tabelle evtl. im Code noch anpassen.
Sub Test()
Dim ArrayTab1(), ArrayTab2(), NewArray()
Dim oDic As Object, oDicMerk As Object
Dim nCount&, A&, B&
Set oDic = CreateObject("Scripting.Dictionary")
Set oDicMerk = CreateObject("Scripting.Dictionary")
With Tabelle1 'Tabelle1 evtl. anpassen
'B2 bis D?
ArrayTab1 = .Range("B2", .Cells(.Rows.Count, 2).End(xlUp)).Resize(, 3)
End With
With Tabelle2 'Tabelle2 evtl. anpassen
'E2 bis H?
ArrayTab2 = .Range("E2", .Cells(.Rows.Count, 5).End(xlUp)).Resize(, 4)
End With
For A = 1 To Ubound(ArrayTab1)
If ArrayTab1(A, 1)  "" Then _
oDic(ArrayTab1(A, 1)) = ArrayTab1(A, 3)
Next A
nCount = Application.Max(Ubound(ArrayTab1), Ubound(ArrayTab2))
Redim Preserve NewArray(1 To nCount, 1 To 3)
nCount = 0
For A = 1 To Ubound(ArrayTab2)
If oDic.exists(ArrayTab2(A, 1)) Then
If Not oDicMerk.exists(ArrayTab2(A, 1)) Then
nCount = nCount + 1
NewArray(nCount, 1) = ArrayTab2(A, 1)
NewArray(nCount, 2) = oDic(ArrayTab2(A, 1))
NewArray(nCount, 3) = ArrayTab2(A, 4)
oDicMerk(ArrayTab2(A, 1)) = 0
End If
End If
Next A
If nCount > 0 Then
With ThisWorkbook
With .Sheets.Add(After:=.Sheets(.Sheets.Count))
With .Cells(2, 1).Resize(Ubound(NewArray), Ubound(NewArray, 2))
.Value = NewArray
.EntireColumn.AutoFit
End With
End With
End With
End If
End Sub

Gruß Tino

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Link zum oder Bleiben im alten Thread hätte...
22.07.2011 14:34:23
Luc:-?
…auch gereicht!
Gruß Luc :-?
AW: Vergleich
22.07.2011 14:54:46
KON
Hallo Tino,
danke für die Mühe. Ich habe Deine Codes angepasst und nun ist alles ok.
Vielen, vielen Dank
Gruß
KON
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige