Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA - doppelte Datensätze aktualisieren

VBA - doppelte Datensätze aktualisieren
12.03.2005 00:45:10
BerndSchweiger
Hallo,
Habe folgendes Problem:
Ich vergleiche mit meinem VBA-Code Tabelle1 mit Tabelle2. Wie ihr sicherlich nachvollziehen könnt, werden alle außer den in Tabelle2 vorkommenden Datensätze gelöscht. Was mir jetzt aber noch fehlt ist, dass Datensätze, bei welchen die Spalten A-C in Tabelle1 und Tabelle2 identisch sind und sich nur der Inhalt der Tabelle2 im Bereich der Spalten D-G abweicht in Tabelle1 aktualisiert werden.
Leider bekomm ich das mit meinen jetzigen VBA-Kenntnissen nicht alleine hin.
Vielleicht kann mir ja jemand dabei helfen.
Schon jetzt vielen Dank
Hier mein bisheriger Code:
'Vergleich Tabelle1 mit Tabelle2 - alle gleichen Inhalte der Spalte A-C werden gelöscht
Dim LoI As Long
Dim LoJ As Long
Dim LoLetzte1 As Long
Dim LoLetzte2 As Long
LoLetzte1 = 65536
With Worksheets("Tabelle1")
If .Range("A65536") = "" Then LoLetzte1 = .Range("A65536").End(xlUp).Row
End With
LoLetzte2 = 65536
With Worksheets("Tabelle2")
If .Range("B65536") = "" Then LoLetzte2 = .Range("B65536").End(xlUp).Row
End With
For LoI = 1 To LoLetzte1
For LoJ = 1 To LoLetzte2
' Leerzellen nicht kennzeichnen
If Worksheets("Tabelle1").Cells(LoI, 1) "" Then
If Worksheets("Tabelle1").Cells(LoI, 1) = Worksheets("Tabelle2").Cells(LoJ, 1) And _
Worksheets("Tabelle1").Cells(LoI, 2) = Worksheets("Tabelle2").Cells(LoJ, 2) And _
Worksheets("Tabelle1").Cells(LoI, 3) = Worksheets("Tabelle2").Cells(LoJ, 3) Then
Worksheets("Tabelle1").Cells(LoJ, 1).EntireRow.Clear
End If
End If
Next LoJ
Next LoI

' Löschen der Leerzeilen
Cells.Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="="
Rows("2:1000").Select
Selection.Delete Shift:=xlUp
Cells.Select
Selection.AutoFilter
Hier ist so ein Code, der doppelte Einträge aktualisiert, aber die Umstellung auf meine Bedürfnisse schaffe ich leider nicht.
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
Gruß
Bernd
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - doppelte Datensätze aktualisieren
12.03.2005 09:07:05
Hajo_Zi
Hallo Bernd,
eins verstehe ich immer nicht. Das erste was gelöscht wird ist der Ursprungshinweis. Es ist doch keine Schande den Ersteller zu nennen, das ist jedenfalls meine Auffassung.
Von mir kommt keine Antwort.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
@Hajo
12.03.2005 12:34:10
BerndSchweiger
@ Hajo
Ist ja richtig - hab ich auch kein Problem damit.
Nur hilft das letztlich mir dadurch auch nicht viel weiter - aber hast recht, die ständige Hilfe sollte auch mal gewürdigt werden - nächstes Mal schreib ichs dazu!
Den ersten Teil findet man durchs googeln. Bin dann auf der Seite:
http://home.media-n.de/ziplies/
gelandet. Ist auch echt super hilfreich - also schaut alle mal rein.
Und somit Dir noch ein kräftiges Dankeschön
Hab nur noch ne Kleinigkeit ändern müssen.
Den zweiten Teil mit den Leerzeilen löschen hab ich selbst per Macrorecorder aufgezeichnet und eingefügt.
Den letzten Teil mit dem aktualisieren, hab aus meiner Firma aus einer Excel-Datei, welche ein ehemaliger Mitarbeiter erstellt hat. Leider ist der mittlerweile weg.
Gruß
Bernd
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige