Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen löschen, die mit einem Buchstaben anfangen

Zeilen löschen, die mit einem Buchstaben anfangen
24.03.2005 08:18:41
Markus
Hallo!
Ich hab da mal ein Problem:
Gesucht ist ein Programm, dass mir aus einer Tabelle alle GESAMTEN Zeilen löscht, in denen in der A Spalte das erste Zeichen KEINE Zahl ist.
Ich habe hier was gefunden, dass nur leere Zeilen löscht.
[code]

Sub LeereZeilenLöschen()
Application.ScreenUpdating = False
Tmp = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
For x = Tmp To 1 Step -1
Do While Application.CountA(Rows(x)) = False
Rows(x).EntireRow.Delete
Loop
Next x
End Sub

[/code]
Gibt es einen Ausdruck für "Buchstaben" anstatt "*"? Oder muss ich das komplett anders schreiben?
Hoffe mir kann jemand helfen =)
Grüße,
M.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen, die mit einem Buchstaben anfangen
24.03.2005 08:26:08
Hajo_Zi
Hallo Markus,
der Zusammenhang mit Buchstaben ist mir nicht ganz klar?

Sub ZahlenZeilenLöschen()
Application.ScreenUpdating = False
Dim LoLetzte As Long
Dim LoI As Long
LoLetzte = IIf(IsEmpty(Range("A65536")), Range("A65536").End(xlUp).Row, 65536)
For LoI = LoLetzte To 1 Step -1
If IsNumeric(Left(Cells(LoI, 1), 1)) Then Rows(LoI).Delete
Next LoI
Application.ScreenUpdating = True
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
AW: Zeilen löschen, die mit einem Buchstaben anfangen
24.03.2005 08:33:43
WernerB.
Hallo Markus,
wie gefällt Dir das?

Sub Markus()
Dim i As Long, laR As Long
Application.ScreenUpdating = False
laR = Cells(Rows.Count, 1).End(xlUp).Row
For i = laR To 1 Step -1
If Not IsNumeric(Left(Cells(i, 1).Text, 1)) Then
Rows(i).Delete
End If
Next i
Application.ScreenUpdating = True
End Sub

Viel Erfolg und frohe Ostern wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Zeilen löschen, die mit einem Buchstaben anfangen
24.03.2005 08:39:40
Markus
Danke du bist ein Schatz ;-) Das funktioniert perfekt :-)
Könntest du das bitte nochmal kurz erläutern, bin noch nicht ganz so fit darin.
Was macht das Screenupdating?
AW: Zeilen löschen, die mit einem Buchstaben anfangen
24.03.2005 09:07:43
WernerB.
Hallo Markus,
das kann die Bildschirmansicht "einfrieren", d.h., dass das Makro quasi im Hintergrund arbeiten kann, ohne nach jedem Einzelschritt die Bildschirmdarstellung aktualisieren zu müssen.
Das "Bildschirm-Flackern" wird dadurch unterbunden und gleichzeitig damit die Makro-Durchlaufzeit verkürzt.
Im Übrigen empfehle ich Dir für die Beantwortung solcher u. ä. Fragen die Nutzung der VBA-Hilfe. Setze im VBA-Editor (Modul) den Cursor auf den Suchbegriff (z.B. "ScreenUpdating") und drücke dann die F1-Taste.
Gruß
WernerB.
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilen löschen, die mit einem Buchstaben anfangen


Schritt-für-Schritt-Anleitung

Um Zeilen in Excel zu löschen, die mit einem Buchstaben anfangen, kannst du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Neues Modul erstellen:

    • Klicke im Menü auf Einfügen > Modul.
  3. Code einfügen:

    • Füge den folgenden Code in das Modul ein:
    Sub ZeilenMitBuchstabenEntfernen()
       Dim i As Long, laR As Long
       Application.ScreenUpdating = False
       laR = Cells(Rows.Count, 1).End(xlUp).Row
       For i = laR To 1 Step -1
           If Not IsNumeric(Left(Cells(i, 1).Text, 1)) Then
               Rows(i).Delete
           End If
       Next i
       Application.ScreenUpdating = True
    End Sub
  4. Makro ausführen:

    • Schließe den VBA-Editor und kehre zu Excel zurück.
    • Drücke ALT + F8, wähle ZeilenMitBuchstabenEntfernen aus und klicke auf Ausführen.

Damit werden alle Zeilen entfernt, die mit einem Buchstaben beginnen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro löscht nicht die gewünschten Zeilen.

    • Lösung: Überprüfe, ob die Daten in der ersten Spalte korrekt formatiert sind. Achte darauf, dass dort keine Leerzeichen vor den Buchstaben stehen, da leerzeichen löscht nächsten buchstaben in den Zellen möglicherweise das gewünschte Ergebnis beeinflusst.
  • Fehler: Die Bildschirmansicht flackert während der Ausführung.

    • Lösung: Stelle sicher, dass Application.ScreenUpdating = False am Anfang des Codes steht und am Ende wieder auf True gesetzt wird. Dies verbessert die Leistung des Makros.

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du auch die Filter-Funktion von Excel nutzen:

  1. Markiere die gesamte Tabelle.
  2. Gehe zu Daten > Filter > AutoFilter.
  3. Klicke auf den Dropdown-Pfeil in der ersten Spalte und wähle die Option Textfilter > Beginnt mit....
  4. Gib den Buchstaben ein, den du filtern möchtest, und klicke auf OK.
  5. Lösche die gefilterten Zeilen und deaktiviere danach den Filter.

Praktische Beispiele

Angenommen, du hast folgende Daten in der Spalte A:

Apfel
Banane
3Birne
Melone
2Kirsche

Nach dem Ausführen des Makros werden alle Zeilen, die mit Buchstaben anfangen, gelöscht. Das Ergebnis wird so aussehen:

3Birne
2Kirsche

Das Makro ist besonders nützlich, wenn du eine größere Anzahl von Zeilen bearbeiten musst.


Tipps für Profis

  • Makros sichern: Stelle sicher, dass du deine Arbeitsmappe als .xlsm speicherst, um die Makros zu behalten.

  • Fehlerbehandlung einbauen: Überlege, eine einfache Fehlerbehandlung in deinen Code einzufügen, um sicherzustellen, dass das Makro auch bei unerwarteten Datenquellen robust bleibt.

  • Regelmäßige Nutzung: Wenn du häufig mit ähnlichen Aufgaben arbeitest, trage die Makros in dein Schnellzugriffsmenü ein, damit du sie schneller ausführen kannst.


FAQ: Häufige Fragen

1. Funktioniert das Makro auch in neueren Excel-Versionen? Ja, das Makro funktioniert in den meisten Excel-Versionen, einschließlich Excel 2013, 2016, 2019 und 365.

2. Was macht das ScreenUpdating? ScreenUpdating steuert, ob Excel die Bildschirmdarstellung während der Ausführung eines Makros aktualisiert. Das Deaktivieren dieser Funktion beschleunigt den Prozess und verhindert Flackern auf dem Bildschirm.

3. Kann ich das Makro anpassen, um nur bestimmte Buchstaben zu entfernen? Ja, du kannst die If-Bedingung im Code anpassen, um nur Zeilen mit bestimmten Buchstaben zu löschen. Ersetze Not IsNumeric(Left(Cells(i, 1).Text, 1)) durch eine spezifische Bedingung, um beispielsweise nur Zeilen zu löschen, die mit A oder B anfangen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige