Anzeige
Archiv - Navigation
1080to1084
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
Inhaltsverzeichnis

Zelle löschen, wenn keine Zahl

Zelle löschen, wenn keine Zahl
13.06.2009 13:58:00
Sabine
Hallo liebes Forum,
in Spalte F befinden sich fünfstellige PLZ. Leider befinden sich dort aber auch andere Werte (in der Regel sind dies Texte).
Wie kann ich die Zellinhalte löschen, die der fünstelligen PLZ sind. Und das so einfach wie möglich, da ich ca. 6000 Einträge habe.
Wichtig: Es darf nur der Zellinhalt dieser Zelle in Spalte F gelöscht werden.
Kann mir jemand weiterhelfen?
LG
Sabine

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle löschen, wenn keine Zahl
13.06.2009 14:12:16
Josef
Hallo Sabine,
probier mal.
Sub sabine()
  Dim rng As Range, rngDel As Range
  
  For Each rng In Range("F2:F" & Cells(Rows.Count, 6).End(xlUp).Row)
    If Not IsNumeric(rng) Or Len(rng) <> 5 Then
      If rngDel Is Nothing Then
        Set rngDel = rng
      Else
        Set rngDel = Union(rng, rngDel)
      End If
    End If
  Next
  
  If Not rngDel Is Nothing Then rngDel.ClearContents
  
  Set rngDel = Nothing
  Set rng = Nothing
End Sub


Gruß Sepp

Anzeige
AW: Zelle löschen, wenn keine Zahl
13.06.2009 14:23:58
Sabine
Hallo Sepp,
das klappt prima.
Danke Dir!
Schönes Wochenende
Sabine
AW: Zelle löschen, wenn keine Zahl
13.06.2009 14:21:54
Tino
Hallo,
hier mal eine Version zum testen.
Ich gehe mal davon aus, dass in Zeile 1 eine Überschrift enthalten ist.

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


Gruß Tino

OT: @HWH - Forum sieht w. u. merkwürdig aus,...
13.06.2009 15:03:05
Luc:-?
...nämlich ab hier!
Gruß Luc :-?
Anzeige
was meinst Du, kann nichts erkennen?
13.06.2009 15:12:14
Tino
Hallo,
verwende zurzeit IE8 und kann nichts Merkwürdiges erkennen.
Gruß Tino
Runter Scrollen! Der verlinkte Thread tanzt...
13.06.2009 15:35:45
Luc:-?
...plötzlich aus der Reihe und danach haben alle Threads zusätzliche Leerzeilen, jedenfalls i.m.FireFox, Tino.
HWH scheint am Forum zu arbeiten (2 Testbeiträge zum allerletzten Thread)...
SchöWE, Luc :-?
Ah, jetzt ist's wieder OK! Gruß owT
13.06.2009 15:37:17
Luc:-?
:-?
AW: OT: @HWH - Forum sieht w. u. merkwürdig aus,...
13.06.2009 15:36:50
Hans
Hallo Leute,
ihr habt Recht.
In den Thread Ziffernfragment zählen innerhalb eines Zeitraums hat sich aus unerfindlichen Gründen eine störende Zeichenfolge eingeschlichen.
Ich musste den Thread leider löschen.
gruss hans
Mein Link geht aber noch, Hans! Gruß owT
13.06.2009 15:39:29
Luc:-?
:-?
AW: Mein Link geht aber noch, Hans! Gruß owT
13.06.2009 15:41:46
Hans
... richtig, der Link funktioniert noch. Allerdings befindet sich der Link nicht mehr in der Liste. Die problematische Zeichenfolge befand sich in der Liste, nicht in den Beiträgen.
gruss hans
Anzeige
Aha, danke, Hans! Schönes WE! owT
13.06.2009 17:18:41
Luc:-?
:-?
@ Franz
13.06.2009 20:58:19
Sabine
Hallo Franz,
darf ich Dich noch um einen Gefallen bitten. Könntest Du das Makro dahingehend erweitern,
dass dann auch gleichzeitig der Inhalt derf Spalte C gelöscht wird.
Vielen lieben Dank!
LG
Sabine
@ Sepp: Ich meinte Dich, sorry!
13.06.2009 21:54:46
Sabine
Habe mich in den Vornamen vertan. Tut mir leid.
Darf ich Dich noch um einen Gefallen bitten. Könntest Du das Makro dahingehend erweitern,
dass dann auch gleichzeitig der Inhalt derf Spalte C gelöscht wird.
Vielen lieben Dank!
LG
Sabine
AW: @ Sepp: Ich meinte Dich, sorry!
13.06.2009 22:00:04
Josef
Hallo Sabine,
das geht so.
Sub sabine()
  Dim rng As Range, rngDel As Range
  
  For Each rng In Range("F2:F" & Cells(Rows.Count, 6).End(xlUp).Row)
    If Not IsNumeric(rng) Or Len(rng) <> 5 Then
      If rngDel Is Nothing Then
        Set rngDel = Union(rng, rng.Offset(0, -3))
      Else
        Set rngDel = Union(Union(rng, rng.Offset(0, -3)), rngDel)
      End If
    End If
  Next
  
  If Not rngDel Is Nothing Then rngDel.ClearContents
  
  Set rngDel = Nothing
  Set rng = Nothing
End Sub

Gruß Sepp

Anzeige
AW: @ Sepp: Ich meinte Dich, sorry!
13.06.2009 22:05:06
Sabine
Hallo Sepp,
vielen Dank für Deine schnelle Hilfe!
Schönen Abend noch
Sabine

328 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige