Thema Datum  Von Nutzer Rating
Antwort
Rot Zeilen innerhalb einer Tabelle vergleichen - Unterschiede markieren VBA
09.06.2015 12:13:27 DAEMAN
NotSolved

Ansicht des Beitrags:
Von:
DAEMAN
Datum:
09.06.2015 12:13:27
Views:
1126
Rating: Antwort:
  Ja
Thema:
Zeilen innerhalb einer Tabelle vergleichen - Unterschiede markieren VBA

Hallo Leute,

ich habe mir eine Excel-VBA-Abfrage erstellt mit deren Hilfe Word-Formulare ausgelesen (XML-Verknüpfung) und in eine Excel-Tabelle geschrieben werden. Die Formulare haben verschiedene Revisionen, sodass ich eingestellt habe, dass doppelte oder mehrfach vorkommende Zeilen/Datensätze entfernt werden (das aktuellste Änderungsdatum bleibt stehen) - doppelte Datensätze sind dann vorhanden, wenn der "Projektname" [Spalte A] identisch ist.

 

Mein Ziel:

Bevor die doppelten Datensätze gelöscht werden, soll ein Vergleich zwischen dem aktuellsten und dem zweit-aktuellsten Änderungsdatum durchgeführt werden - die Zeilen stehen Dank der Sortierung direkt untereinander, dabei soll jede Spalte durchlaufen werden und die Werte direkt und einzeln miteinander verglichen werden. Markiert werden sollen die Zellen, die NICHT identisch sind (z.B. Hintergrundfarbe gelb)

Nice-to-have: Wäre es auch noch möglich den alten Wert als Kommentar in die Zelle mit dem neuen Wert einzufügen?

 


CODE (bisher inkl. einiger Überlegungen)

Date0 = FileDateTime(File)
Lo.ListRows(Lo.ListRows.Count).Range(1, 3) = Date0


...

'SORTIERUNG: PROJEKTNAME
    Lo.Sort.SortFields.Add Key:=Range("A5"), SortOn:=xlSortOnValues, _
    Order:=xlAscending, DataOption:=xlSortNormal
    With Lo.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    'SORTIERUNG: Chronologisch, absteigend
    Lo.Sort.SortFields.Add Key:=Range("C5"), SortOn:=xlSortOnValues, _
    Order:=xlDescending, DataOption:=xlSortNormal
    With Lo.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

    'Zeilen-/Spaltenunterschiede markieren
    'Range("COLLATION").Select
    'Selection.ColumnDifferences(ActiveCell).Select
    'Selection.RowDifferences(ActiveCell).Select
    
    
    
    
        'Duplikate entfernen - die alten Dokumente werden entfernt _
        (Dank der Sortierung nach Änderungsdatum der Datei, bei gleichem Projektnamen)
        'ws.Range("COLLATION[Project name]").RemoveDuplicates Columns:=1, Header:=xlYes
        'SORTIERUNG: Löschen
        Lo.Sort.SortFields.Clear
        'SORTIERUNG: Chronologisch, absteigend
        Lo.Sort.SortFields.Add Key:=Range("C5"), SortOn:=xlSortOnValues, _
        Order:=xlDescending, DataOption:=xlSortNormal
        With Lo.Sort
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With

 

Vielen Dank im Voraus!

Gruß

DAEMAN


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 Zeilen innerhalb einer Tabelle vergleichen - Unterschiede markieren VBA
09.06.2015 12:13:27 DAEMAN
NotSolved