Thema Datum  Von Nutzer Rating
Antwort
Rot Doppelter SVerweis in Wenn Funktion für Listenvergleich
22.01.2019 12:39:14 Sev
NotSolved
22.01.2019 18:08:44 Gast01234
NotSolved

Ansicht des Beitrags:
Von:
Sev
Datum:
22.01.2019 12:39:14
Views:
1031
Rating: Antwort:
  Ja
Thema:
Doppelter SVerweis in Wenn Funktion für Listenvergleich

Hallo zusammen,

ich habe eine Mappe in Excel mit drei Reitern (Alt, Master und Vergleich). Die Liste in "Alt" und "Master" sind identisch aufgebaut, also immer die gleiche Spaltenanzahl (71) und die gleichen Spaltenüberschriften. Reiter "Vergleich" ist auch genau mit den selben Spaltenüberschriften beschriftet. Wobei hier in "Vergleich" in die 72. Spalte (BT) einfach eine bestimmte Spalte aus "Alt" reinkopiert werden soll, also passend zu dem Suchkriterium aus Spalte A. Und Spalte 73 soll mir ne Info geben basierend auf den ausgegebenen Wert von Spalte C bis Spalte BS. Nun möchte ich dass Excel folgendes macht:

1. Nimm die Spalte A aus der Masterliste und füge Sie in Spalte A in "Vergleich" ein.

2. Jetzt kommt der sverweis, der soll nämlich diese Zelle aus Spalte A in "Vergleich" in der Masterliste suchen und dann das gleiche in Alt suchen und dann die gesamte Zeile aus den 2 Listen (Alt und Master) miteinander vergleichen. Wenn die jeweiligen Zellen aus den entsprechenden Zeilen übereinstimmen, soll er für jede Zelle in der richtigen Spalte in "Vergleich" "OK" ausgeben. Gibt es Unterschiede soll er die Zelle, die unterschiedlich ist aus der Masterliste in die Vergleichsliste kopieren.

Dafür nutze ich diese Formel im Makro:

Dim Alt As Range
Dim Master As Range

Set Alt = ThisWorkbook.Worksheets("Alt").Range("A6:ZZ2000")
Set Master = ThisWorkbook.Worksheets("Master").Range("A6:ZZ2000")


ThisWorkbook.Worksheets("Vergleich").Activate



Range("B7:B2000").Formula = "=If(Vlookup(A7,Alt,2,False)=Vlookup(A7,Master,2,False),""OK"",Vlookup(A7,Master,2,False))"

 

Das klappt soweit, allerdings dauert es ewig bis Excel das ganze für 70 Spalten mit einigen hundert Zeilen macht. Es stürzt sehr oft ab weil da zuviele Formel den Zellen zugewiesen werden.

 

Außerdem soll in die vorletzte Spalte ein einfacher sverweis hin der mir anhand der info aus Spalte A in Vergleich genau die gewünschte Zelle aus "Alt" in die 72.Spalte kopieren.

Die 73. Spalte soll mir von Spalte C bis Spalte BS "Zeile identisch" ausgeben wenn alle Zellen den Wert "OK" haben und "Fehler" ausgeben sobald nur eine Zelle nicht "OK" drinnen stehen hat, da steht ja dann die Info aus "Master". Und manchmal gibt es die Datei aus der Masterliste nicht in der Liste "Alt". Da steht dann bei mir #NV. Dann soll er sagen "Datensatz fehlt".

 

Ich bin ein absoluter Anfänger was VBA angeht. Mit viel Mühe habe ich mir aus dem Netz was zusammengesucht, welches nciht so funktioniert wie gewünscht. Deshalb die Lösung mit der Formelzuweisung. Das zusammengeschnibelte füge ich unten auch hinzu. Wenn mir da jemand helfen könnte das richtig hinzukriegen wäre ich echt super dankbar :)

 

Hier der VBA code:

 

Sub Testlauf()

On Error Resume Next

 Sheets("Vergleich").Select

Dim n_column As Long
Dim i As Long
Dim r As Long
Dim c As Long
Dim column As Long
        

r = 7: c = 2: column = 2

For n_column = 1 To 69
    
    'For n_column= 1 To Range("XFD6).End(xlToLeft).Column-1
    
    For i = 1 To Range("A100000").End(xlUp).Row - 6
    
    
        If (Cells(r, c).Value = WorksheetFunction.Vlookup(Cells(r, 1).Value, Sheets("Alt").Range("A6:ZZ10000"), column, 0)) = (Cells(r, c).Value = WorksheetFunction.Vlookup(Cells(r, 1).Value, Sheets("Master").Range("A6:ZZ10000"), column, 0)) Then
        
        Cells(r, c).Value = "OK"
        r = r + 1
           
        Else
        
        Cells(r, c).Value = (Cells(r, c).Value = WorksheetFunction.Vlookup(Cells(r, 1).Value, Sheets("Master").Range("A6:ZZ10000"), column, 0))
                r = r + 1
           
        End If
        
    Next
    
    r = 7
    column = column + 1
    c = c + 1


Next

End Sub

 

Ich hoffe sehr dass mir jemand helfen kann.

LG

Sev


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Doppelter SVerweis in Wenn Funktion für Listenvergleich
22.01.2019 12:39:14 Sev
NotSolved
22.01.2019 18:08:44 Gast01234
NotSolved