Tabellen vergleichen - 2.Tabelle aktualisieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Tabellen vergleichen - 2.Tabelle aktualisieren
von: BerndSchweiger
Geschrieben am: 09.03.2005 13:21:07
Hallo,
folgendes Problem:
Ich möchte 2 Tabellen in Excel miteinander vergleichen (Tabelle1 und Tabelle2) und die Tabelle2 entsprechend aktualisieren.
Es sind jeweils 7 Spalten (A-G) vorhanden, wobei die erste Zeile die Überschriften beinhaltet, danach kommt der Dateninhalt (von Spalte D-G nicht zwingend ein Inhalt vorhanden)
Tabelle1 wird täglich neu erzeugt und danach sollte dadurch Tabelle2 demzufolge geändert werden:
- Neue Datensätze aus Tabelle1 sollen bei Tabelle 2 nach der letzten Zeile mit Inhalt angefügt werden
- Datensätze, welche nicht mehr in Tabelle1 erscheinen, dürfen jedoch nicht aus Tabelle2 gelöscht werden.
- schon vorhandene Datensätze sollen nicht in Tabelle 2 überschrieben bzw. aktualisiert werden (komplette Zeileninhalte von Spalte A-G müssen verglichen werden)
Kann mir hierbei jemand helfen, einen entsprechen VBA-Code zu erstellen.
Alle meinerseits gefunden Codes legen eine 3 Tabelle an oder überschreiben die bestehenden Zeilen! Komme also alleine nicht mehr weiter – bin auf Eure Hilfe angewiesen.
1. Hier ist z. B. ein Teil, der die Daten aktualisiert oder in eine neue Zeile schreibt:
'Ausgabe der Daten

For i = 1 To AnzahlAufträge
'Ist der Datensatz schon vorhanden?
Cells(1, 1).Select
Selection.CurrentRegion.Select
BereichZeilen = Selection.Rows.Count
For Each zelle In ActiveSheet.Cells.Range("A:A")
If CStr(zelle.Value) = "" Then Exit For
If CStr(zelle.Value) = CStr(daten(i, 1)) Then
'vorhandenen Eintrag aktualisieren
Cells(zelle.Row, zelle.Column).Select
Application.StatusBar = "Aktualisierung von " & daten(i, 1 & " ..."
Call DatenAusgeben(daten, i)
aktualisieren = True
Exit For
End If
Next
'neuer Eintrag -> neue Zeile anfügen
If aktualisieren = False Then
Cells(BereichZeilen, 1).Offset(1, 0).EntireRow.Select
Selection.Copy
Application.CutCopyMode = False
Selection.Insert Shift:=xlShiftDown
Cells(Selection.Row, 1).Select
Application.StatusBar = "neuer Eintrag: " & daten(i, 1) & " ..."
Call DatenAusgeben(daten, i)
End If
aktualisieren = False
Next i

Vielen Dank schon jetzt für Eure Bemühungen!!!
Gruß
Bernd

Bild

Betrifft: AW: Tabellen vergleichen - 2.Tabelle aktualisieren
von: Rolf Beißner
Geschrieben am: 09.03.2005 17:15:45
Hallo Bernd,
vielleicht hilft dir das.
Die 1. Prozedur setzt bei abweichenden Werten Kommentare in Sheet(1);
die 2. Prozedur steuert die Kommentare an + fragt, ob der Wert überschrieben werden soll. Den Bearbeitungsbereich (B1) musst du deinen Bedürfnissen anpassen.
FG
Rolf

Sub vergleich_plus_kommentar_bei_abweichung()
    On Error Resume Next
    Dim B2 As Worksheet
    Dim B1 As Range, c As Range
    Dim v As Double
    Set B1 = Sheets(1).Range("A1:T30")
    Set B2 = Sheets(2)
    For Each c In B1
        v = B2.Range(c.Address).Value
        If c.Value <> v Then
           c.AddComment
           c.Comment.Text Text:=Str(v)
        End If
    Next
End Sub


Sub übernahme_abfrage()
    Dim cmt As Object
    Dim rc As Variant
    Set cmt = Worksheets(1).Comments
    For Each c In cmt
        Range(c.Parent.Address).Select
        rc = MsgBox("Soll der Kommentarwert " & c.Text _
            & " in die aktuelle Zelle übertragen werden", vbYesNo)
        Select Case rc
            Case Is = 6
                Range(c.Parent.Address) = Val(c.Text)
                c.Delete
            Case Is = 7
                c.Delete
        End Select
    Next
End Sub


Bild

Betrifft: AW: Tabellen vergleichen - 2.Tabelle aktualisieren
von: BerndSchweiger
Geschrieben am: 09.03.2005 17:27:00
Danke Rolf
Komme heute aber leider nicht mehr zum Testen - morgen dann
Aber die letzten winzigen Änderungen bekomm ich hoffentlich noch alleine hin.
Nochmals tausend Dank
Bernd
Bild

Betrifft: hat's geklappt? oT
von: Rolf Beißner
Geschrieben am: 10.03.2005 12:18:27
..
Bild

Betrifft: Jow
von: BerndSchweiger
Geschrieben am: 10.03.2005 12:54:41
Jow, hat super geklappt (nach ner kleinen Änderung)
Nochmals vielen Dank
Bernd
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Tabellen vergleichen - 2.Tabelle aktualisieren"