22.09.2016, 21:45 (Dieser Beitrag wurde zuletzt bearbeitet: 22.09.2016, 22:13 von Kl@us-M..)
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 :)
22.09.2016, 21:56 (Dieser Beitrag wurde zuletzt bearbeitet: 22.09.2016, 22:12 von Kl@us-M..)
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.
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.
22.09.2016, 23:25 (Dieser Beitrag wurde zuletzt bearbeitet: 22.09.2016, 23:25 von IchBinIch.
Bearbeitungsgrund: Ergänzung(en)
)
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 AsLong Dim zm AsLong Dim zz AsLong
'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 EndWith
'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 = 2To zm
'Alle Sätze, die nicht in SAA-List vorkommen aus Source übertragen IfWorksheetFunction.CountIf(Sheets("SAA_List").Range("A:A"), .Range("A" & z).Value) = 0Then Sheets("SAA_List").Cells(zz, 1).Value = .Cells(z, 1).Value zz = zz + 1 EndIf