Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
720to724
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
720to724
720to724
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
2 dateien vergleichen und ggf. daten löschen
18.01.2006 17:09:18
Bernd
hallo,
ich habe wieder mal ein problem.
ich habe eine datei ... daten1.xls
dort sind in tabelle1 2000 daten. von a1:a2000
immer 8-stellige zahlen
dann habe ich eine 2. datei ... daten2.xls
dort sind in tabelle1 ca. 350 daten. von a1:a350
auch immer 8-stellige zahlen
nun möchte ich in der datei daten1.xls einen button klicken und alle zahlen die
in der 2. datei sind aus der 1. datei löschen.
quasi die 1. datei um die daten in der 2. datei bereinigen.
das kann mann doch irgendwie mit einer schleife erledigen, oder?
vielen dank für eure hilfe
gruss bernd

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 dateien vergleichen und ggf. daten löschen
18.01.2006 18:26:26
Eule
Hi bernd
vielleicht so als Ansatz:
du kopierst die Daten aus Datei2 (deine 350 St.) in Datei1 (darunter) und lässt dieses Makro laufen:

Sub AlleDoppelten_ganzweg()
Dim zelle As Range
Dim container() As Long
Dim i As Long
Dim a As Long
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
End With
For Each zelle In Range("a1:a1000")
If WorksheetFunction.CountIf(Range("A1:a1000"), zelle) > 1 Then
ReDim Preserve container(i)
container(i) = zelle.Row
i = i + 1
End If
Next
For a = UBound(container) To LBound(container) Step -1
Rows(container(a)).Delete
Next
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub

Du kannst natürlich die Kopieranweisung auch noch automatisieren.
Gruss Eule
Anzeige
AW: 2 dateien vergleichen und ggf. daten löschen
18.01.2006 18:36:23
ChrisL
Hallo Bernd
Inzwischen habe ich auch rumprogrammiert. Einleitung (ScreenUpdating etc.) und Schluss habe ich mir erlaubt von Eule zu klauen.

Private Sub CommandButton1_Click()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim iZeile As Long, LetzteZeile As Long
Set WS1 = ThisWorkbook.ActiveSheet  'entspricht daten1.xls
Set WS2 = Workbooks("Mappe2.xls").Worksheets("Tabelle1") 'entspricht daten2.xls
LetzteZeile = WS1.Range("A65536").End(xlUp).Row
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
End With
For iZeile = LetzteZeile To 1 Step -1
If WorksheetFunction.CountIf(WS2.Columns("A:A"), WS1.Cells(iZeile, 1)) > 0 Then Rows(iZeile).EntireRow.Delete
Next iZeile
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub

Viel Spass und Feedback nicht vergessen.
Gruss
Chris
Anzeige
danke, code klapp supper :-) o.t.
18.01.2006 19:14:51
Bernd

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige