Aktuell kann es Probleme bei der Anmeldung mit dem Chrome oder Edge Browser geben. Ihr müsstet in die Einstellungen des Browsers gehen und Cache, Cookies und sofern vorhanden, gespeicherte Passwörter vom CEF löschen oder alternativ auf einen anderen Browser ausweichen. Ursache sind vermutlich kürzliche Browserupdates. x

Kopieren in Bezug zum aktuellsten Datum in einem Bereich
#31
Hi,
 
habe deine Datei bekommen. Formatiere bitte in Tab1(Build) die ganzen Spalten 4, 7, 10 als Datum und 3, 5, 6, 8, 9 als Standard. Code ausführen. Sollte erst mal anders aussehen.
 
Leider hast du nicht erwähnt dass die zweite Bedingung aus meinem Beitrag #9 doch auch vorkommt. Muss ich noch anpassen. Wird aber erst Morgen Vormittag.
 
Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Bamane
Top
#32
Hi Elex, 

vielen Dank für den Tipp und entschuldige bitte, habe es übersehen. 

Gruss
Bamane
Top
#33
Hi

Hier der Code für Übereinstimmung beider Spalten (Component und Component Description) mit (Material Ve und Short Text).
Code:
Public Sub Liste()
Dim objDict As Object
Dim ArrTab1, ArrTab2 As Variant
Dim LetzA, n, z As Long

LetzA = Sheets("Build Master").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("Build Master").Range("C2:J" & LetzA).ClearContents
ArrTab1 = Sheets("Build Master").Range("A1:J" & LetzA).Value
ArrTab2 = Sheets("Prices & Deliv. date").Range("E1:M" & Sheets("Prices & Deliv. date").Cells(Rows.Count, 5).End(xlUp).Row)

Set objDict = CreateObject("Scripting.Dictionary")
For n = 2 To LetzA
    If objDict.exists(ArrTab1(n, 1) & ArrTab1(n, 2)) Then
        MsgBox "Code abgebrochen! Doppelte in Tab1 " & ArrTab1(n, 1) & " / " & ArrTab1(n, 2)
        Exit Sub
    Else
       objDict(ArrTab1(n, 1) & ArrTab1(n, 2)) = n
    End If
Next n

For n = 2 To UBound(ArrTab2, 1)
 If objDict.exists(ArrTab2(n, 1) & ArrTab2(n, 2)) Then
   z = objDict(ArrTab2(n, 1) & ArrTab2(n, 2))    'Die Zeile in Tab1(AB) mit Wert von Tab2(EF)
 'Aktuell
    If ArrTab1(z, 4) < ArrTab2(n, 5) Then  'Datum vergleich
        ArrTab1(z, 4) = ArrTab2(n, 5)
        ArrTab1(z, 3) = ArrTab2(n, 9)
    End If
 'Max
    If ArrTab1(z, 5) = ArrTab2(n, 7) Then  'Qty vergleich
        If ArrTab1(z, 7) < ArrTab2(n, 5) Then  'Datum vergleich
           ArrTab1(z, 6) = ArrTab2(n, 9)
           ArrTab1(z, 7) = ArrTab2(n, 5)
         End If
    Else
        If ArrTab1(z, 5) < ArrTab2(n, 7) Then  'Qty vergleich
           ArrTab1(z, 5) = ArrTab2(n, 7)
           ArrTab1(z, 6) = ArrTab2(n, 9)
           ArrTab1(z, 7) = ArrTab2(n, 5)
        End If
    End If
 'Min
    If ArrTab1(z, 8) = ArrTab2(n, 7) Then  'Qty vergleich
        If ArrTab1(z, 10) < ArrTab2(n, 5) Then  'Datum vergleich
           ArrTab1(z, 9) = ArrTab2(n, 9)
           ArrTab1(z, 10) = ArrTab2(n, 5)
         End If
    Else
        If ArrTab1(z, 8) > ArrTab2(n, 7) Or ArrTab1(z, 8) = "" Then  'Qty vergleich
           ArrTab1(z, 8) = ArrTab2(n, 7)
           ArrTab1(z, 9) = ArrTab2(n, 9)
           ArrTab1(z, 10) = ArrTab2(n, 5)
        End If
    End If
 End If
Next n

Sheets("Build Master").Range("A1").Resize(LetzA, 10) = ArrTab1

Set objDict = Nothing
End Sub

Gruß über den Teich.
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Bamane
Top
#34
Hi Elex,

vielen Dank, jetzt funktioniert alles. :)
Das Hauptproblem war, dass die Formate nicht richtig festgelegt wurden und deswegen das Datum falsch angezeigt wurde. 

Wünsche dir einen enspannten Tag.

Beste Grüsse 
Bamane
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste