Zelle löschen, wenn keine Zahl in Excel
Schritt-für-Schritt-Anleitung
Um den Zellinhalt in Spalte F zu löschen, wenn es sich nicht um eine fünfstellige PLZ handelt, kannst du ein einfaches VBA-Makro verwenden. Folge diesen Schritten:
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Klicke auf Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.
-
Kopiere den folgenden Code in das Modul:
Sub Loesche_Text()
Dim Bereich As Range
Dim MyAr
Dim A As Long
Set Bereich = Range("F2", Cells(Rows.Count, 6).End(xlUp))
MyAr = Bereich
For A = 1 To UBound(MyAr)
If Len(MyAr(A, 1)) <> 5 Or Not IsNumeric(MyAr(A, 1)) Then
MyAr(A, 1) = ""
End If
Next A
Bereich = MyAr
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Drücke ALT + F8
, wähle das Makro Loesche_Text
aus und klicke auf Ausführen
.
Das Makro durchsucht die Zellen in Spalte F und löscht den Inhalt, wenn die Zelle keine fünfstellige Zahl enthält.
Häufige Fehler und Lösungen
Alternative Methoden
Falls du kein VBA verwenden möchtest, kannst du auch die WENN
-Funktion in Excel nutzen:
-
Füge in eine leere Spalte (z.B. G) folgende Formel ein:
=WENN(ODER(NICHT(ISTZAHL(F2));LÄNGE(F2)<>5);"";F2)
-
Ziehe die Formel nach unten, um sie auf alle relevanten Zellen anzuwenden.
-
Kopiere die Ergebnisse und füge sie als Werte in Spalte F ein, um die alten Daten zu ersetzen.
Praktische Beispiele
Wenn du beispielsweise die Zellen in Spalte F von F2 bis F6000 prüfen möchtest, stelle sicher, dass du den Bereich im VBA-Code entsprechend anpasst:
Set Bereich = Range("F2:F6000")
Das sorgt dafür, dass alle 6000 Einträge untersucht werden. Du kannst die Ergebnisse dann nach Bedarf anpassen.
Tipps für Profis
- Nutze die Fehlerüberprüfung in Excel, um sicherzustellen, dass nur gültige PLZ eingegeben werden.
- Schreibe deine eigenen Makros, um Routineaufgaben zu automatisieren und so Zeit zu sparen.
- Vermeide die Verwendung von
Select
in deinen Makros, um die Ausführungsgeschwindigkeit zu verbessern.
FAQ: Häufige Fragen
1. Wie kann ich das Makro anpassen, um auch Spalte C zu löschen?
Du kannst den folgenden Code verwenden, um auch die Zellen in Spalte C zu löschen:
If Not IsNumeric(rng) Or Len(rng) <> 5 Then
rngDel = Union(rng, rng.Offset(0, -3))
End If
2. Kann ich das Makro auf andere Spalten anwenden?
Ja, ändere einfach den Bereich in Set Bereich = Range("X2:X")
, wobei X für die gewünschte Spalte steht.
3. Gibt es eine Möglichkeit, die Zellen in einer bestimmten Farbe anzuzeigen?
Ja, du kannst das Format einer Zelle ändern, indem du die Interior.Color
-Eigenschaft im VBA-Code verwendest.