MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 25.09.2017, 11:02   #1
suburban_spirit
Neuer Benutzer
Neuer Benutzer
Standard VBA - Vergleich von zwei Listen; Einfärben von Zellen bei Änderungen

Hallo liebe Community,

ich habe folgendes Problem: ich möchte die Information in zwei Listen miteinander Vergleichen und bei Änderungen in den Infos sollen die betroffenen Zellen rot eingefärbt werden. Die Besonderheit: Anhand eines Codes wird die Suchzeile in der zweiten Liste erst gesucht. Außerdem sind die Spalten in denen die Infos verglichen werden von der Zahl her nicht die selben. Hier der Code:

Code:

Dim OldArray() 'Hier werden die Spaltenindizes der altenWerte gespeichert
Dim ItemArray() 'Hier werden die Spaltenindizes der neuen Werte gespeichert
ItemArray(0) = 1
OldArray(0) = 1
ItemArray(1) = 2
OldArray(1) = 3
ItemArray(2) = 4
OldArray(2) = 10
ItemArray(3) = 5
OldArray(3) = 11
ItemArray(4) = 6
OldArray(4) = 12
ItemArray(5) = 7
OldArray(5) = 13
ItemArray(6) = 8
OldArray(6) = 15
ItemArray(7) = 9
OldArray(7) = 16
ItemArray(8) = 11
OldArray(8) = 17
ItemArray(9) = 10
OldArray(9) = 18
ItemArray(10) = 12
OldArray(10) = 19
ItemArray(11) = 15
OldArray(11) = 20

Dim c As Range
Dim j As Integer
Dim Changed As Boolean
Dim TargetRow As Integer

For i = 1 To Items
    Changed = False
    If Worksheets("Item Details").Cells(i + 1, 16).Value = "Yes" Then 'Springe nur in die Schleife, wenn das Item bereits existiert
    With Sheets("Old Data").Range("A:A") 'hier befinden sich die Item Suchcodes
        Set c = .Find(Worksheets("Items").Cells(i + 1, 1).Value, LookIn:=xlValues)
        TargetRow = c.Row 'speichere die Zeile ab in der sich der gefundene Code befindet
    End With
        For j = 0 To 11
        If Worksheets("Item Details").Cells(i + 1, ItemArray(j)).Value <> Worksheets("CPQ Data").Cells(TargetRow, OldArray(j)).Value Then
        Changed = True 'Unterscheiden sich die Werte in den Zellen der beiden Listen?
        Worksheets("Item Details").Cells(i + 1, ItemArray(j)).Interior.Color = vbRed 'Färbe Zelle rot
        End If
        Next j
        If Changed = True Then
        Worksheets("Item Details").Cells(i + 1, 17).Value = "Yes" 
        End If
    End If
Next i
Mit diesem Code werden für alle Einträge Änderungen gefunden, wobei das nicht sein kann, da ich nur in einer Zeile etwas verändert habe. Außerdem wird nichts rot eingefärbt. Kann mir jemand helfen? Ich habe die Vermutung, dass es an den beiden Arrays ItemArray und OldArray liegt.

Ich bin dankbar für jeden Tipp! Viele Grüße
Suburban_spirit
suburban_spirit ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.09.2017, 10:35   #2
aloys78
MOF Meister
MOF Meister
Standard

Hallo,

es wäre hilfreich, wenn Du die Aufgabenstellung anhand einer Beispieldatei erläutern würdest.

Gruß
Aloys
aloys78 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.