Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datensätze aus großer Tabelle selektieren

Datensätze aus großer Tabelle selektieren
17.04.2007 20:16:53
Bernd
Hallo.
ich würde gerne aus einer große Tabelle (40000 Zeilen), die viele gleichartige Datensätze enthält, jeweils nur den ersten Datensatz anziehen.
Im Detail: in Spalte A steht das Selektionskriterium, also z.B. "Position 1", dann folgen dutzende Datensätze, die ebenfalls als Merkmal "Position 1" aufweisen. Später folgen dann Datensätze die mit "Position 2" gekennzeichnet sind. Da ich nur Werte aus der ersten Zeile der jeweiligen Positionen verarbeiten muß, könnte ich so die Dateigröße deutlich verkleinern. Bisher greife ich auf die gesamte Tabelle per Bezug aus anderer Exel-Datei zu und erhalten dauernd Speicherfehler aufgrund der Dateigröße.
Gruß
Bernd

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Probier mal ...
17.04.2007 21:53:00
Matthias
Hallo Bernd
Ich gehe tatsächlich davon aus, das immer nur 1x Position1,2,3,4 ... gebraucht wird.
Und alle anderen Zeilen nicht für Dich relevant sind.
Wenn ich da richtig liege, könnte Dir dieser Code evtl. weiterhelfen

Option Explicit
Sub entfernen()
Dim Y, X
Y = Cells(Rows.Count, "A").End(xlUp).Row
For X = Y To 1 Step -1
If Cells(X, 4) > 1 Then Rows(X).Delete
Next
End Sub


Hier mal eine Beispieltabelle:
Nähere Erläuterung in der Datei
Text ab Zeile 91!
https://www.herber.de/bbs/user/41829.xls
Gruß Matthias

Anzeige
AW: Probier mal ...
18.04.2007 14:21:27
Bernd
Hallo.
leider funktioniert es mit dem Code nicht so...
Wenn ich z.B. die Beispieltabelle benutze, dann bleibt nur ein Datensatz übrig, was ja richtig ist. da nur "de" enthalten ist.
Ergänze ich die Tabelle aber z.B. mit "es", dann wird kein Datensatz mit "es" nach Ausführen des Makros angezeigt.
Gruß
Bernd

Du musst =Zählenwenn anpassen !!
18.04.2007 16:36:00
Matthias
Hallo Bernd
Wenn Du neue Werte hinzufügst,
musst Du die Formel =ZählenWenn anpassen !!
Userbild
https://www.herber.de/bbs/user/41852.xls
Gruß Matthias

Anzeige
AW: Du musst =Zählenwenn anpassen !!
19.04.2007 10:06:00
Bernd
Hallo Matthias,
zunächst besten Dank für die ausführliche Beschreibung. Ich konnte nun auch mal kleinere Tests durchführen. Bei kleineren Tabellen funktioniert das Makro auch sehr gut, aber mir scheint, wenn ich es auf Tabellen mit mehreren Tausend Zeilen ansetze, kommt es zum Crash. Ich habe gestern abend mein Notebook mit Core2 Duo und 2 GB RAM und einer Testtabelle mit ca. 10000 Zeilen "versorgt" und der Prozessor war zu 50 % (Vollast eines Prozessor-Kern) ausgelastet. Nach ca. 20 Minuten habe ich den Test dann erfolglos abgebrochen. Ist evtl. das Makro für diese komplexen Tabellen nicht geeignet oder an was es könnte es sonst liegen? Auf "Zaehlenwenn" kann man nicht verzichten, oder?
Beste Grüße
Bernd

Anzeige
AW: Du musst =Zählenwenn anpassen !!
19.04.2007 19:22:00
Matthias
Hallo Bernd
Ja, Makro scheint für so große Tabellen nicht geeignet zu sein.
Ich nahm auch an, es soll sich um eine einmalige
Eliminierung doppelter Einträge handeln.
Aber egal, für kleinere Sachen allemal akzeptabel.
Das es wahrscheinlich bei so vielen Zeilen sehr lange dauern könnte hatte ich auch geschrieben.
Ich bin jedenfalls davon ausgegangen, das keine neuen Einträge hinzukommen, da Du ja geschrieben
hast "immer nur der 1. Datensatz ist für Dich relevant.
Wenn Du natürlich immer wieder Zeilen neu reduzieren willst, ist dies Lösung ungeeignet.
Mir fiel nix besseres ein als "ZählenWenn", allerdings wird dabei natürlich bei jedem geänderten Schleifenzähler die Tabelle neu berechnet. und das dauert.
10.000 mal ZählenWenn da ist schon ne Menge Rechenleistung gefordert.


Und auf Zählen wenn verzichten?, scheint unnmöglich. Denn wir beziehen und ja auf die Spalte
mit ZählenWenn. In dieser Spalte wird ja nur ein Wert >1 angezeigt eben durch diese Formel.
Wird dann also eine Zeile mit doppeltem Eintrag gelöscht, muß Excel ja neu berrechnen.Sonst
stimmt ja das Ergebnis der Formel nicht mehr. Denn in der Zeile wo in der "Zählenwenn-Spalte"
vorher eine 2 stand, muß jetzt eine 1 stehen, da die doppelte Zeile ja gelöscht wurd.


Ich habe die Frage als "offen" markiert" in der Hoffnung das ein Experte Dir hier doch
noch helfen kann.
Für eine weitere Hilfe meinerseits, reichen meine Kenntnisse leider nicht aus. Sorry
Viel Glück
Gruß Matthias

Anzeige
AW: Du musst =Zählenwenn anpassen !!
19.04.2007 21:11:00
Bernd
Hallo Matthias,
danke nochmals für den Lösungsansatz! Ich kann den mal bestimmt nochmals gebrauchen!
Gruß
Bernd

Erledigt oT
19.04.2007 22:35:00
zu
r

AW: Erledigt oT
20.04.2007 00:02:00
Bernd
Hallo,
ich suche immer noch eine Lösung....
Gruß
Bernd

AW: Erledigt oT
20.04.2007 08:44:00
Bernd
Hallo,
alternativ könnte eine Lösungsansatz auch sein, dass nur die relevanten Restdatensätze ermittelt und in eine neue Tabelle kopiert werden.
Gruß
Bernd

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige