VBA - automatisches Löschen von Datensätzen möglich?
#1
Lightbulb 
Hallo zusammen,

ich suche schon seit einiger Zeit im Internet nach einer Lösung für meine Anforderung an Excel, bin aber leider noch gar nicht fündig geworden. Nun habe ich dank Herrn Google dieses schöne und hilfreiche Forum entdeckt und möchte euch gerne um Rat fragen:

Ich habe eine riesiege Exceltabelle (EXcel 2013) mit zigtausend Datensätzen.

Die Überschriften der Zellen lauten:
Straße - Hausnummer - Plz - Ort - Bezirk - Filiale

In jeden Bezirk gehört eine Menge von x Straßen. Ich benötige für die weitere Arbeit mit der Tabelle allerdings aus jedem Bezirk lediglich drei Datensätze. Möglichst mit drei unterschiedlichen Straßen. Welche Straßen das sind, ist egal.

Alle anderen Datensätze sind überflüssig und können/sollen gelöscht werden, so dass ich am Ende eine Excel-Tabelle habe, bei der für jeden Bezirk genau drei Datensätzen enthalten sind.

Ich hoffe, ich konnte die Problematik verständlich erklären. :-S Leider habe ich nur minimale VBA-Anwendererfahrung und drücke mich dadurch vielleicht etwas umständlich aus


Gibt es für dieses Problem eine Lösung? Eventuell mit Hilfe eines Makros? Oder ist das Ganze aus eurer Sicht aussichtslos?

Über Hinweise/Hilfestellungen würde ich mich sehr freuen.

Lieben Dank schonmal vorab und viele Grüße

Beanie
Top
#2
Hallo Beanie,

könntest Du vielleicht eine Beispieldatei hier hochladen?
Gruß Stefan
Win 10 / Office 2016
Top
#3
(23.05.2015, 20:50)Steffl schrieb: Hallo Beanie,

könntest Du vielleicht eine Beispieldatei hier hochladen?

Hallo Stefan,

ja, klar .... gerne :17:

vielen Dank schon mal vorab, dass du dir Zeit für meine Frage nimmst Blush
.xlsx   Test.xlsx (Größe: 644,61 KB / Downloads: 16)
Top
#4
Hallo,

ein paar mehr Infos würden der Lösungsfindung durchaus nützen.

Am besten, wie Stefan bereits angefordert hat, eine Beispieldatei aus der erkennbar ist, wie Deie Datei aufgebaut ist.
Wir brauchen auch keine tausende von Datensätzen und Du kannst sie gerne auch anonymisieren, die uns zur
Verfügung gestellten Datensätze.
Top
#5
....schon erledigt Blush
Top
#6
(23.05.2015, 21:15)Beanie schrieb: ....schon erledigt  Blush

stimmt, ich bin begeistert  :05:
Top
#7
Hallo,

mit Formel in Spalte H:


Code:
=(Zählenwenn(E$2:E2;E2)<4)

H Filtern nach 1, ausschneiden und in separate Tabelle einfügen. Dauert allerdings etwas mit der Formelberechnung und Filterung.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#8
(24.05.2015, 09:53)BoskoBiati schrieb: Hallo,

mit Formel in Spalte H:



Code:
=(Zählenwenn(E$2:E2;E2)<4)

H Filtern nach 1, ausschneiden und in separate Tabelle einfügen. Dauert allerdings etwas mit der Formelberechnung und Filterung.


Hallo Edgar,

vielen lieben Dank für deine Lösungshilfe :100:

Ich gehe nun so vor:

1. umwandeln aller Straßennamen, so dass sie mit einem Großbuchstaben beginnen und dann klein weitergeschrieben werden: =GROSS2(A2)
2. löschen aller doppelten Straßennamen in einem Bezirk über "Daren" und "Duplikate entfernen"
3. sortieren der Daten nach Bezirk und Straßen aufsteigend
4. Einfügen der Formel von Edgar in Spalte G:  =(Zählenwenn(E$2:E2;E2)<4)
5. Filtern nach WAHR

So habe ich genau das Ergebnis, was ich für die weitere Arbeit benötige: Aus jedem Bezirk 3 Datensätze mit unterschiedlichem Straßennamen

Es ist zwar noch immer ein ganz schön händischer Aufwand, da ich diese Schritte für eine Vielzahl von Dateien durchführen muss, aber es ist schon eine wesentliche Vereinfachung zu all dem, was in der Vergangenheit händisch gemacht werden musste.

Also nochmals, lieben Dank.

GAber eine Frage habe ich noch:

Gibt es eine Möglichkeit, diese Arbeitsschritte mit Hilfe eines Makros zu automatisieren?

Liebe Grüße
Beanie

Top
#9
Hallo,

zumindest die Schritte 1 und 2 könnte man mit folgender Formel noch einsparen:

=(zählenwenn(E$2:E2;E2)<4)*(Zählenwenn(A$2:A2;a2)=1)

dann filtern nach 1 und kopieren
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#10
Hi,

Zitat:Gibt es eine Möglichkeit, diese Arbeitsschritte mit Hilfe eines Makros zu automatisieren?

zeichne dir den kompletten Vorgang, so wie du ihn ausgeführt hast, mit dem Makrorekorder auf und stelle den Code hier ein. Es gibt genügend VBA-Spezialisten, die dir den Code dann auf deine Bedürfnisse zurechtschneidern.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste