Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
580to584
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
580to584
580to584
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellen vergleichen - 2.Tabelle aktualisieren

Tabellen vergleichen - 2.Tabelle aktualisieren
09.03.2005 13:21:07
BerndSchweiger
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 -&gt 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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen vergleichen - 2.Tabelle aktualisieren
09.03.2005 17:15:45
Rolf
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


Anzeige
AW: Tabellen vergleichen - 2.Tabelle aktualisieren
09.03.2005 17:27:00
BerndSchweiger
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
hat's geklappt? oT
10.03.2005 12:18:27
Rolf
..
Jow
10.03.2005 12:54:41
BerndSchweiger
Jow, hat super geklappt (nach ner kleinen Änderung)
Nochmals vielen Dank
Bernd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige