für meine heutige Problemstellung suche ich eine VBA-Lösung. Es werden 2 Tabellen ("Tabelle1" und "Tabelle2") in einer ("Tabelle1") zusammengeführt und alle Abweichungen mit "Treffer" in Spalte G gekennzeichnet.
Meine Errungenschaften sehen erst einmal so aus:
Sub test()
Dim arr1(), arr2(), lRow1 As Long, lRow2 As Long
Dim WS1 As Worksheet, WS2 As Worksheet
Set WS1 = ThisWorkbook.Worksheets("Tabelle1")
Set WS2 = ThisWorkbook.Worksheets("Tabelle2")
lRow1 = WS1.Cells(Rows.Count, 1).End(xlUp).Row
lRow2 = WS2.Cells(Rows.Count, 1).End(xlUp).Row
ReDim arr1(lRow1 - 1, 9) As Variant
ReDim arr2(lRow2 - 1, 1) As Variant
arr1 = WS1.Range("A1:I" & lRow1)
arr2 = WS2.Range("A1:f" & lRow2)
For i = 2 To UBound(arr1)
For j = 2 To UBound(arr2)
If arr1(i, 1) = arr2(j, 1) Then
GoTo weiter
End If
Next j
arr1(i, 7) = "Treffer"
weiter:
Next i
For j = 2 To UBound(arr2)
For i = 2 To UBound(arr1)
If arr2(j, 1) = arr1(i, 1) Then
GoTo weiter2
End If
Next i
a = a + 1
ReDim arr1(lRow - 1 + a, 9)
For b = 1 To 6
arr1(lRow - 1 + a, b) = arr2(j, b)
Next b
arr1(lRow - 1 + a, 7) = "Treffer2"
weiter2:
Next j
WS1.Range("A1:I" & lRow1 + a).Value = arr1()
End Sub
Im Tabellenblatt "Ziel" kann man sehen, wie "Tabelle1" aussehen soll, wenn denn das Makro machte, was ich mir von ihm wünschte. Könnt Ihr mir bitte sagen, woran es da noch hapert? Vielen lieben Dank schon jetzt für Eure Unterstützung!
https://www.herber.de/bbs/user/128620.xlsx
lGrüße
Toni