Anzeige
Archiv - Navigation
1112to1116
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
Inhaltsverzeichnis

Datei kürzen

Datei kürzen
Petra
Guten Morgen allerseits
meine Problembeschreibung:
ich habe eine Riesendatei (ca. 50.000 Zeilen) und eine Minidatei (ca. 25 Zeilen). Die Riesendatei soll nun um die Datensätze (Merkmale) der Minidatei komprimiert werden, d.h. alle Merkmale der Minidatei (eine Spalte) soll aus der Monsterdatei entfernt werden. Kapiert? ist halt sehr schwer zu beschreiben.
Wie kann ich das Problem am elegantesten lösen?
Liebe Grüße
Petra

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Datei kürzen
28.10.2009 10:32:17
Ptonka
Hallo Petra,
wäre klasse, wenn Du mal ein kleines Beispiel nennen oder anfügen könntest.
Gruß,
Ptonka
AW: Datei kürzen
28.10.2009 10:46:22
Petra
https://www.herber.de/bbs/user/65393.xls
Hi Ptonka
hier mal ein ganz kleines Beispiel. In Echt sind das 2 Workbooks.
DANKE für dein Interesse
Lieben Gruß Petra
AW: Datei kürzen
28.10.2009 10:47:50
Petra
auf offen gestellt
AW: Datei kürzen
28.10.2009 10:51:44
Yusuf
Moin,
bin mal davon ausgegangen, dass das "merkmal" in der "minidatei" und in der "Riesendatei" jeweils in der ersten Spalte ab der ersten Zeile stehen, falls nicht muss das Makro noch angepasst werden.
Funktionsweise des Makros:
Die 25 "merkmal" der "minidatei" einer nach dem anderen in eine Variable gespeichert und dann mit den 50000 "merkmalen" der "riesendatei" verglichen.
Sind diese identisch wird die entsprechende Zeile (komplette Zeile) aus der "riesendatei" gelöscht.
Das Makro ist ungetestet, also denk an eine Sicherheitskopie deiner Datei.
Sub merkmale_entfernen()
Dim i As Integer
Dim j As Double
Dim merkmal As String
Dim letzte_Zeile As Double
For i = 1 To 25
merkmal = Sheets("name_des_blattes_der_minidatei").Cells(i, 1)
letzte_Zeile = Sheets("name_des_blattes_der_Riesendatei").Range("A65536").End(xlUp).Row
For j = letzte_Zeile To 1 Step -1
If Sheets("name_des_blattes_der_Riesendatei").Cells(j, 1) = Sheets(" _
name_des_blattes_der_minidatei").Cells(i, 1) Then
Row(j).Delete shift:=xlUp
End If
Next
Next
End Sub
Gruß
Yusuf
Anzeige
AW: Datei kürzen
28.10.2009 10:57:14
Petra
Danke Yusuf
an eine Schleifenlösung habe ich auch schon gedacht und auch umgesetzt. Die Sache hat nur einen Haken, das Ganze läuft recht lange (zu lange).
Deshalb suche ich nach einer "schnellerern" Lösung.
Wer hat noch schnelle Ideen?
Liebe Grüße Petra
AW: Datei kürzen
28.10.2009 11:04:58
Yusuf
Hmm,
du koenntest auch noch per "Spezialfilter" nach den 25 Merkmalen filtern und dann die angezeigten Zeilen löschen.
Deine Riesendatei ist der "Datenbereich", der zu filtern ist und die 25 Zeilen deiner Minidatei sind die Filterkriterien, jedoch muesst du der Spalte im Datenbereich, die die Merkmale enhaelt und der Spalte mit den Filterkriterien die gleiche Ueberschrift geben, damit der "Spezialfilter" funktioniert.
Weiterhin darf der "Krieterienbereich" keine Leerzeilen enthalten.
Gruß
Yusuf
Anzeige
Das geht schneller .....
28.10.2009 11:20:09
Ptonka
Hallo zusammen,
anbei eine Lösung ohne Schleife sondern mit Direktsuche - geht sehr schnell.
https://www.herber.de/bbs/user/65397.xls
Gruß,
Ptonka
AW: Das geht schneller .....
28.10.2009 12:20:54
Petra
Hi Ptonka
Deine Lösung klappt gut, DANKE
und noch einen schönen Tag
Petra
AW: Datei kürzen
28.10.2009 11:27:02
Armin
Hallo Petra,
versuch es mal so.
Sub merkmale_entfernen()
Dim Cx As Range
Dim i As Integer
Dim j As Double
Dim merkmal As String
Dim letzte_Zeile As Double
With Worksheets("name_des_blattes_der_Riesendatei").Range("A2:A65530")
For i = 1 To 25
merkmal = Sheets("name_des_blattes_der_minidatei").Cells(i, 1)
Set Cx = .Find(merkmal, After:=Range("A2"), LookIn:=xlValues)
If Not Cx Is Nothing Then
Cx.Delete shift:=xlUp
End If
Next
End With
End Sub

Gruß Armin
Anzeige
AW: Datei kürzen
28.10.2009 12:24:28
Petra
Hi Armin
Deine Lösung funzt nicht ganz, da ja die Merkmale mehr als einmal in der Riesendatei enthalten sind.
Trotzdem Danke, der Ansatz ist Spitze
Liebe Grüße Petra

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige