Thema Datum  Von Nutzer Rating
Antwort
19.03.2021 10:09:31 Anna Schreiber
Solved
Blau Vergleich von Werten aus zwei verschiedenen Tabellen
19.03.2021 13:16:48 Nobody
Solved
19.03.2021 16:27:24 Gast34823
Solved

Ansicht des Beitrags:
Von:
Nobody
Datum:
19.03.2021 13:16:48
Views:
505
Rating: Antwort:
 Nein
Thema:
Vergleich von Werten aus zwei verschiedenen Tabellen

Hallo Anna

wenn ich mir deinen  Code anschaue sage ich nur, du bist eine hervorragende Programmiererin!  Alle Achtung, in einigen Befehlen bist du besser wie ich! Was dir vielleicht noch fehlt sind viele Jahre Programmier Erfahrung, und meine eigene Handschrift Codes zu entwickeln. Ich war erstaunt in einer For next Schleife DIM Variable zu sehen, denn die setze ich immer an den Anfang des Codes. Es liegt an dir wie du das künftig handhaben willst!

Ich habe mir erlaubt deinen  Code auf mein System zu aendern, um ihn besser verstehen zu können! Dabei fiel mir sofort etwas auf!! Es springt dir förmlich ins Auge, wenn der DIM Text nicht mehr die Übersicht stört!  Schau diir bitte mal die ersten Variablen mit der Endung "S" und "T" an, da stimmt etwas nicht! Du laedst beide aus denselben Zellen. Das ist NICHT okay. Weil es mir zu lange dauert den ganzen Code zu verstehen bitte ich dich zuerst mal diese Variablen zu prüfen. Vielleicht beseitigt das schon deinen Fehler.  Würde mich sehr freuen!

Du bist wirklich sehr gut, was ich mit Ü65 als Vorteil besitze sind viele lange Jahre Erfahrung in Fehlersuche. Und über 2.000 Hilfe Tipps in Foren. 

mfg Nobody

Sub Makro1()
Dim CNS As Variant  'CNA = Component Number Steckbriefe (AllPro)
Dim CNT As Variant  'CNA = Component Number Target-Datei
Dim GCS As Variant  'GCS = Group Code Steckbriefe (AllPro)
Dim GCT As Variant  'GCT = Group Code Target-Datei
Dim Menge2020S As Long
Dim Menge2020T As Variant
Dim Menge2021S As Double
Dim Menge2021T As Variant
Dim Menge2022S As Double
Dim Menge2022T As Variant
Dim Menge2023S As Double
Dim Menge2023T As Variant
Dim Menge2024S As Double
Dim Menge2024T As Variant
Dim Menge2025S As Double
Dim Menge2025T As Variant
Dim Menge2026S As Double
Dim Menge2026T As Variant

Workbooks.Open Filename:="\\ad001.siemens.net\dfs001\File\DE\FTH\TFN_PROJECT\200_Procurement_Overview_AllProjects\01_AllProjects\AllProjects.xlsx", ReadOnly:=True
    Dim wsSteckbriefe As Worksheet
    Set wsSteckbriefe = Workbooks("AllProjects.xlsx").Worksheets("Steckbriefe")
             
    lastRowTarget = wsTarget.Range("A" & wsTarget.Rows.Count).End(xlUp).Row
    lastRowSteckbriefe = wsSteckbriefe.Range("A" & wsSteckbriefe.Rows.Count).End(xlUp).Row
     
    'Daten werden ab der zweiten Zeile eingefügt
    For rowTarget = 2 To lastRowTarget
        For rowSteckbriefe = 2 To lastRowSteckbriefe
            CNS = (wsSteckbriefe.Cells(rowSteckbriefe, 7).Value)
            CNT = (wsTarget.Cells(rowTarget, 3).Value)
            GCS = (wsSteckbriefe.Cells(rowSteckbriefe, 2).Value)
            GCT = (wsTarget.Cells(rowTarget, 1).Value)
            Menge2020S = (wsSteckbriefe.Cells(rowSteckbriefe, 15).Value)
            Menge2020S = (wsSteckbriefe.Cells(rowSteckbriefe, 16).Value)
            Menge2020T = (wsTarget.Cells(rowTarget, 10).Value)
            Menge2021T = (wsTarget.Cells(rowTarget, 11).Value)
            Menge2022S = (wsSteckbriefe.Cells(rowSteckbriefe, 17).Value)
            Menge2022T = (wsTarget.Cells(rowTarget, 12).Value)
            Menge2023S = (wsSteckbriefe.Cells(rowSteckbriefe, 18).Value)
            Menge2023T = (wsTarget.Cells(rowTarget, 13).Value)
            Menge2024S = (wsSteckbriefe.Cells(rowSteckbriefe, 19).Value)
            Menge2024T = (wsTarget.Cells(rowTarget, 14).Value)
            Menge2025S = (wsSteckbriefe.Cells(rowSteckbriefe, 20).Value)
            Menge2025T = (wsTarget.Cells(rowTarget, 15).Value)
            Menge2026S = (wsSteckbriefe.Cells(rowSteckbriefe, 21).Value)
            Menge2026T = (wsTarget.Cells(rowTarget, 16).Value)
            'Mengen aus der AllPro-Datei (Steckbriefe)
            'Mengen aus der Target-Datei
             
            If GCT = GCS Then
               If CNT = CNS Then
                    wsTarget.Cells(rowTarget, 17) = "CP & PG vorhanden"
                    If Menge2020T = Menge2020S And Menge2021T = Menge2021S And Menge2022T = Menge2022S And Menge2023T = Menge2023S And Menge2024T = Menge2024S And Menge2025T = Menge2025S And Menge2026T = Menge2026S Then
                        wsTarget.Cells(rowTarget, 18) = "Mengen Gleich"
                    End If
                End If
            End If
        Next rowSteckbriefe
    Next rowTarget
     
    For rowTarget = 2 To lastRowTarget
        If Menge2020T <> Menge2020S Or Menge2021T <> Menge2021S Or Menge2022T <> Menge2022S Or Menge2023T <> Menge2023S Or Menge2024T <> Menge2024S Or Menge2025T <> Menge2025S Or Menge2026T <> Menge2026S Then
           wsTarget.Cells(rowTarget, 18) = "Mengen Ungleich"
        End If
    Next rowTarget
     
    For rowTarget = 2 To lastRowTarget
        If wsTarget.Cells(rowTarget, 17) <> "CP & PG vorhanden" Then
            wsTarget.Cells(rowTarget, 17) = "CP & PG neu"
            wsTarget.Cells(rowTarget, 1).Interior.ColorIndex = 44
            wsTarget.Cells(rowTarget, 3).Interior.ColorIndex = 44
        End If
    Next rowTarget
End Sub


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
19.03.2021 10:09:31 Anna Schreiber
Solved
Blau Vergleich von Werten aus zwei verschiedenen Tabellen
19.03.2021 13:16:48 Nobody
Solved
19.03.2021 16:27:24 Gast34823
Solved