Clever-Excel-Forum

Normale Version: Tabellen vergleichen und Wert ergänzen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

vielleicht kann mir jemand helfen. Ich habe 2 Tabellen. Tabelle "SAA_List" und Tabelle "Source".
In beiden Tabellen ist in Spalte A jeweils die ID eingetragen.

Nun mein Problem bzw hier benötige ich eine Lösung.

Ich würde gerne beide Tabellen mit Hilfe von VBA vergleichen und prüfen ob in der Tabelle "SAA_List" IDs fehlen, die in der Tabelle "Source" vorhanden sind. Wenn IDs in der SAA_List fehlen sollen diese automatisch in Spalte A ergänzt werden.

Kann mir hier jemand helfen?

Bonus wäre noch wenn die ergänzten IDs farblich markiert werden würden :)

Danke.

Themen zusammengeführt
Moderator
[Bild: Ameise.gif]
Hallo,

ich ich würde gerne mithilfe von VBA ein Problem Lösen.
Ich habe 2 Tabellen. Tabelle 1: SAA_List, Tabelle 2: Source List

In beiden Tabellen stehen in Spalte A "IDs". In der Source Tabelle stehen die Ausgangswerte.

Nun möchte ich gerne mithilfe von VBA prüfen, welche "IDs" in der "SAA_List" fehlen und diese automatisch ergänzen lassen.
Schön wäre es noch wenn die ergänzten Werte farblich hervorgehoben werden.

Kann mir hier jemand helfen?

Themen zusammengeführt
Moderator
[Bild: Ameise.gif]
Hallo,

das Thema ist im Prinzip ein alter Hut, dafür gibt es viele Lösungen, auch im Archiv. Mit Bilder kann ich nichts anfangen, brauchte eine Beispieldatei mit Beispieldaten. Die Tabellen Namen, Spalten und Zeilen sollten wie im Original sein. Dann kann man dafür ein Makor schreiben. Aber ich müsste schon wissen welche Spalten verglichen werden müssen, und wo ggf. das Ergebnis hin kopiert werden soll. Rein "ins blaue raten" kann man nicht arbeiten.

mfg  Gast 123
Hier mal die datei
Hi,

eine Trockenübung:
Keep fingers crossed  :19:!




Sub FehlendeIDKopieren()
' ID ohne Zuordnung werden aus der Tabelle Source in die Tabelle SAA kopiert

Dim z As Long
Dim zm As Long
Dim zz As Long

'Ermittlung der ersten freien Zeile in der Zieltabelle.Voraussetzung: keine Leerzeilen. Sonst ".Cells(Rows.Count, 1).End(XlUp).row" verwenden
With Sheets("SAA_List")
    zz = 1
    zm = .UsedRange.Rows.Count
    zz = zm + 1
End With

'Festlegen der Verarbeitungstabelle
With Sheets("Source")

    'Auffinden der letzten verwendeten Zeile in "Source". Voraussetzung: keine Leerzeilen (s.o.)
    zm = .UsedRange.Rows.Count
   
    'Aufsetzen der Schleife. Voraussetzung: Tabelle hat Überschriften. Sonst z = 1
    For z = 2 To zm

        'Alle Sätze, die nicht in SAA-List vorkommen aus Source übertragen
        If WorksheetFunction.CountIf(Sheets("SAA_List").Range("A:A"), .Range("A" & z).Value) = 0 Then
            Sheets("SAA_List").Cells(zz, 1).Value = .Cells(z, 1).Value
            zz = zz + 1
        End If
       
    Next z

End With

End Sub


VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0



Gruß
Ich

Trockenübungen verursachen mehrfache Korrekturen :32: :22: :21:
Hallo Detlef,

Danke für die Info :32:.
"Ihr" habt mich exklusiv. Von daher bin ich blind auf dem anderen Auge.

Gruß
Markus