Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
584to588
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
584to588
584to588
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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.


@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

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige