Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
832to836
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
832to836
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Automatisches suchen und löschen??

Automatisches suchen und löschen?
27.12.2006 19:13:48
Roland
Hallo,
ich benutze Excel 2004 für MAC und habe folgende(s) Frage/Problem.
Ich habe eine Adress-Datenbank in Excel. In zahlreichen Feldern dieser Datenbank (aber alle Felder in einer Spalte) befinden sich fehlerhafte Daten, die ich über die suchen-Funktion anzeigen lassen kann. Wenn ein Fehler in einem Feld gefunden worden ist, möchte ich aber die ganze Zeile löschen, in der sich das fehlerhafte Feld befindet.
Von Hand klappt das wie folgt super.
1. Klick in die Spalte, in der nach den fehlerhaften Feldern gesucht werden soll
2. Aufrufen der suchen-Funktion und definieren der Suchkriterien
3. Wenn ein fehlerhaftes Feld gefunden worden ist, schließen der suchen-Funktion
4. Markieren der Zeile, in der sich das fehlerhafte Feld befindet und löschen der ganzen Zeile
5. Weiter bei Punkt 1.
Meine Frage: Gibt es eine Möglichkeit, diesen Vorgang zu automatisieren? Denn wenn ich mich so durch 120.000 Datensätze/Zeilen arbeiten will, um fehlerhafte Felder aufzuspüren und zu löschen, dann sitze ich vermutlich Wochen da.
Danke für Info und viele Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: Automatisches suchen und löschen?
27.12.2006 21:49:50
Oberschlumpf
Hi Roland
Hast du es schon mal mit dem Makro-Recorder versucht?
In diesem Fall musst du zwar auch noch Zeile für Zeile anklicken, aber dann nur das Makro starten, welches ausgeführt werden soll - geht also auch schon schneller.
Wenn du ein Makro benötigst, welches mit nur 1 Klick alle Datensätze bearbeiten soll, dann müsstest du uns noch dieses verraten:
- in welchen Spalten befinden sich deine Daten? (wir könnten RATEN, aber du musst dann anpassen - kannst du das?)
- wenn wirklich nur 1 Spalte Daten enthält, WELCHE Spalte?
- in welcher Zeile soll die Suche beginnen? (wir könnten RATEN, aber du musst dann anpassen - kannst du das?)
- um welche Art von Fehler handelt es sich? (wir könnten RATEN, aber du musst dann anpassen - kannst du das?)
Na ja, und dann ist noch das Risiko, dass ein Makro - in Excel für nicht-MAC-PC programmiert, gar nicht im MAC funktioniert.
Das weiß ich leider nicht, da ich MAC-PC nicht kenne.
Ciao
Thorsten
Anzeige
AW: Automatisches suchen und löschen?
28.12.2006 11:19:09
Roland
Hallo Thorsten,
danke für Deine Hilfe.
Anbei die notwendigen Angaben:
- Die Tabelle besteht aus 6 Spalten (A – F) - also Anrede, Vorname, Nachname, Postleitzahl, Ort, Straße mit Hausnummer.
- Die Spalte, die die Fehlerhaften Daten enthält, ist die Spalte E (Ort)
- Die Suche soll in der ersten Zeile beginnen
- In der Spalte E befinden sich Ortsangaben. Diese beinhalten stellenweise einen „/“ (Schrägstrich). Wenn eine Ortsangabe einen „/“ enthält, soll die ganze Adresse (Zeile) gelöscht und eingerückt werden. Danach sollen alle Adressen (Zeilen), die einen „-„ (Verbindungsstrich) enthalten gelöscht werden. Danach alle die einen „.“ (Punkt) enthalten.
Viele Grüße,
Roland
Anzeige
AW: Automatisches suchen und löschen?
28.12.2006 14:35:43
Oberschlumpf
Hi Roland
Versuch es mal so:
1. Erstelle zuerst eine Sicherungskopie deiner Tabelle. Denn wenn 120.000 Datensätze futsch sind - ich war es nicht
2. Füge diesen Code in ein allgemeines Modul ein

Sub Loeschen()
Dim lloZeile As Long, lloLetzteZeile As Long
lloLetzteZeile = Cells(Rows.Count, 1).End(xlUp).Row
'die Zeile mit den meisten Einträgen wird ermittelt
For lloZeile = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
If lloLetzteZeile < Cells(Rows.Count, lloZeile).End(xlUp).Row Then
lloLetzteZeile = Cells(Rows.Count, lloZeile).End(xlUp).Row
End If
Next
'es werden alle Zeilen gelöscht, in denen in Ort ein "/", oder in der Straße ein "." oder "-" vorkommt
For lloZeile = 1 To lloLetzteZeile
If InStr(1, Range("E" & lloZeile).Value, "/") > 0 Or InStr(1, Range("F" & lloZeile).Value, "-") > 0 Or InStr(1, Range("F" & lloZeile).Value, ".") > 0 Then
Rows(lloZeile & ":" & lloZeile).Delete Shift:=xlUp
lloZeile = lloZeile - 1
End If
Next
End Sub

3. Wechsel in Excel in die Tabelle, in der die Zeilen gelöscht werden sollen
4. Starte über Extras/Makro/Makros das Makro mit dem Namen "Loeschen"
5. fertig
Konnte ich helfen?
Ciao
Thorsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige