Tabellen Vergleichen

  • Excel

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Tabellen Vergleichen

    Hallo miteinander,
    ich habe eine Frage.

    Ich muss zwei Listen miteinander vergleichen und folgende Aufgabe lösen.
    Es geht um eine Warenausgangsliste(Datei1) und eine Lagerbestandsliste(Datei2).
    In der Warenausgangsliste sind verschiedene Lieferungen drinnen die ausgeliefert wurden. Eine Artikelnummer kann dabei in mehreren Lieferungen sein.
    In der Lagerbestandsliste kann die Artikelnummer auch auf mehreren Zeilen vorkommen da ein Artikel mehrere Lagerplätze haben kann.

    D.h.
    In der ersten Datei habe ich eine Liste mit den Artikelnummern in der Spalte D.

    Diese Artikelnummer von Spalte D und Datei1 muss ich in der Spalte E von Datei2 suchen.

    Gibt es die Artikelnummer in Datei2, muss ich von Datei2 aus der selben Zeile die Spalten UVW kopieren und in Datei1 in die Spalten GHI in der selben Zeile einfügen.

    Danach muss ich in Datei 1 wenn der kopierte H wert "AAA" ist die Spalte D dunkelgrün markieren, wenn der AA ist bisschen helleres grün und wenn der Wert A ist hellgrün markieren.

    Weiters muss ich aus Datei2 die Spaltenwerte C von der Artikelnummer kopieren, wobei ich nicht weiß wieviel C Werte es gibt. Also es kann sein das es ein Lagerplatz ist oder mehrere. Dieser Werte muss ich dann bei Datei1 in die selbe Zeile wie vorhin aber in die Spalten KLMN usw. je nachdem wieviel Lagerplätze es hat.

    Wenn jetzt eine Artikelnummer in mehreren Lieferungen vorkommt in Datei1 muss ich das selbe in der jeder Zeile (bzw. Jede Lieferung wo die Artikelnummer nochmal vorhanden ist) nochmal machen.

    Ich hoffe es ist so verständlich und ihr könnt mir helfen, hab soweit schon herausgefunden das man sowas mit Visual Basic machen kann :)


    Danke im vorraus.

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Naja ich kann ja bisschen programmieren.

    Das "Projekt" das ich machen muss ist für meine Bachelorarbeit wo ich überprüfen muss in welchen Lieferungen "AAA" "AA" "A" Waren drinnen sind. Was ich habe ist eine Lagerbestandsliste mit dem Ranking der Waren und eine Weitere Liste mit Lieferungen und welche Artikel drinnen waren.

    Derweil hab ich es von Hand gemacht also immer hin und her gewechselt kopiert markiert die Artikel durchgesucht in allen Lieferungen und nochmal das gleiche reinkopiert. :D und ein Freund hat mir dann gesagt warum ich es von Hand mache es gäbe ja Visual Basic :).
    ok. ich habe es jetzt mal bei VBA nochmal reinkopiert.

    andere Frage könntest du die Fragestellung lösen? bzw. kennst du dich so gut aus das du mir villeicht eine Seite empfehlen kannst wo ich so baukastenmäßig die Codes finde die ich brauchen könnte?

    ich kann C programmieren bzw. ich könnte mich dann schnell zurecht finden und die codes so umändern wie ich es individuell brauche mit spalten und farben und so...

    kennst du da was?

    danke :)
    Hallo nochmals,

    mir wäre schon geholfen wenn ihr mir eine Seite zeigen könntet wo ich fertige Codes finde.
    Ich habe schon einen ähnlichen Code gefunden der mir die Artikelnummer von Datei1 Spalte D in einer anderen Tabelle auf Spalte E suchen würde und die Werte kopiert.

    Das ist der Code denn ich gefunden habe:

    Dim Search As String, rng As Range
    Dim Sp As String, FirstAddress As String
    Dim c As Integer

    Sp = "B"
    c = 1

    Do Until c = Worksheets("Tabelle1").UsedRange.Rows.Count
    c = c + 1
    Search = Worksheets("Tabelle1").Range("B" & c).Value
    Set rng = Worksheets("Testdaten1").Range("B:B").Find _
    (What:=Search, LookAt:=xlPart, LookIn:=xlValues)
    If Not rng Is Nothing Then
    FirstAddress = rng.Address
    Do
    With Worksheets("Tabelle1")
    Worksheets("Testdaten1").Range("A" & rng & ":G" & rng).Copy _ 'hier
    kommt die
    Destination:=Worksheets("Tabelle1").Range("I" & c)
    'Fehlermeldung
    End With
    Set rng = Worksheets("Testdaten1").Range("B:B").FindNext(after:=rng)
    If rng.Address = FirstAddress Then Exit Do
    Loop
    End If
    Loop

    und so würde ich es jetzt mal umändern

    Dim Search As String, rng As Range
    Dim Sp As String, FirstAddress As String
    Dim c As Integer

    Sp = "B"
    c = 1

    Do Until c = Worksheets("Tabelle1").UsedRange.Rows.Count
    c = c + 1
    Search = Worksheets("Tabelle1").Range("B" & c).Value
    Set rng = Worksheets("Lagerspiegel_05022015").Range("E:E").Find _
    (What:=Search, LookAt:=xlPart, LookIn:=xlValues)
    If Not rng Is Nothing Then
    FirstAddress = rng.Address
    Do
    With Worksheets("Tabelle1")
    Worksheets("Lagerspiegel_05022015").Range("U" & rng & ":W" & rng).Copy _ 'hier
    kommt die
    Destination:=Worksheets("Tabelle1").Range("K" & rng & ":M" & rng)
    'Fehlermeldung
    End With
    Set rng = Worksheets("Lagerspiegel_05022015").Range("E:E").FindNext(after:=rng)
    If rng.Address = FirstAddress Then Exit Do
    Loop
    End If
    Loop

    so wie ich es verstanden habe hat der jenige aber die Tabellen in einer Datei und auf zwei verschiedenen Blättern.

    Wo müsste ich den Code umändern da ich zwei Dateien verwende?

    Bzw. würde es mir schon reichen wenn ihr mir eine Seite empfehlen könntet wo ich so Baukastenmäßig die Codes finde und individuell umändern kann.

    Danke im Vorraus :)
    Hallo miteinander,

    ich habe das obige Problem lösen können.
    Dabei hab ich die zwei Dateien zu einer geführt (wusste nicht das ich unten die Tabelle selber kopieren kann :) ) und mit einem sverweis gelöst.

    jetzt hab ich nur ein Problem.
    1
    1
    1
    6
    1
    9
    2
    8
    3

    3

    4

    5

    Ich habe jetzt zwei Listen wie oben schematisch dargestellt. In meiner linken Zeile sind sehr viele Lieferungen drinnen die nie alleine kommen sondern immer auf mehrere Zeilen verteilt. Rechts habe ich eine Liste mit Lieferungen die ich aus der Liste links rauslöschen will (z.B.: die 1 von rechts soll links 3 mal weggelöscht werden). Dabei dürfen aber die Zeilen selber nicht gelöscht werden.
    Also als Ergebnis sollte dann das rauskommen.

    1

    6

    9
    2
    8
    3

    3

    4

    5


    Ich habs mit der bedingten Formatierung probiert, Excel sagt aber es geht nicht mit einem Tabellenbereich als Bezug...

    Wie kann ich das lösen?