Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nullzellen eliminieren

Forumthread: Nullzellen eliminieren

Nullzellen eliminieren
22.12.2005 12:00:01
herbi
Hallo,
ich suche nach einer Lösung (Makro) welches mir in einer Liste von Zahlen alle Felder mit dem Inhalt "0" eliminiert und die rechts davon stehenden Werte nach links verschiebt
Beispiel
Artikel-1 0 0 0 1 5 0 0 0 22 19 10
Artikel-2 0 0 0 0 0 0 0 0 11 22 19
Artikel-3 0 0 3 1 5 0 22 19
Nachdem das Makro gelaufen ist, sollte die Liste so aussehen
Artikel-1 1 5 22 19 10
Artikel-2 11 22 19
Artikel-3 3 1 5 22 19
Any idea wie man das Lösen kann?
danke im Voraus - Herbi
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nullzellen eliminieren
22.12.2005 12:05:13
Galenzo
For Each c In ActiveSheet.UsedRange
If c.Value = 0 Then c.Delete Shift:=xlToLeft
Next
Viel Erfolg!
AW: Nullzellen eliminieren
22.12.2005 13:47:44
herbi
Hi,
danke für eure schnelle Hilfe. Habe folgenden Code daraus gebastelt
und bekomme die Fehlermeldung "Objekt erfoderlich". Beim Debuggen markiert Excel die
Zeile "For each...". Wo ist der Fehler?
Ich möchte, dass nur die Zellen zwischen A3 und F5 bearbeitet werden.

Sub Nullstellen_Eliminieren()
Dim rng As Range
Range("A3:F5").Select
For Each rng In UsedRange
If rng = 0 Then rng.Delete Shift:=xlToLeft
Next
End Sub

Anzeige
AW: Nullzellen eliminieren
22.12.2005 13:55:42
Galenzo
Dim rng As Range
For Each rng In Range("A3:F5")
If rng = 0 Then rng.Delete Shift:=xlToLeft
Next
Viel Erfolg!
AW: Nullzellen eliminieren
22.12.2005 14:08:24
Galenzo
Nimm besser diesen Code:
Dim rng As Range
Set rng = Range("A3:F5").Find(0)
Do While Not rng Is Nothing
rng.Delete Shift:=xlToLeft
Set rng = Range("A3:F5").Find(0)
Loop
Bei der ersten (nicht ganz durchdachten Lösung) können Zellen übrig bleiben, da der Bereich von links durchlaufen wird. Wenn eine Nuller-Zelle gelöscht wird, die Nachbarzelle (auch mit einer Null drin) nachrückt, und dann mit der Nachbarzelle weitergemacht wird, dann werden Zellen sozusagen übersprungen.
Die Lösung oben durchsucht den Bereich solange nach Nullen und löscht, bis keine mehr da sind.
Viel Erfolg!
Anzeige
AW: Nullzellen eliminieren
22.12.2005 15:24:24
herbi
Hi Galenzo,
funktioniert leider zu gut.
Mein Ziel ist es, alle Zellen zu löschen die explizit 0 sind.
Nicht alle Zellen, die in irgendeiner Form eine 0 enthalten.
Dein Code löscht auch Zellen mit dem Wert z.b. 220. Der sollte aber stehen bleiben.
Was muss ich ändern?
Herbi
Anzeige
AW: Nullzellen eliminieren - nachgebessert
23.12.2005 10:03:11
Galenzo
mit ein paar Ergänzungen sollte es funktionieren.
Dim rng As Range
Set rng = Range("A3:F5").Find(What:="0", LookIn:=xlValues, LookAt:=xlWhole)
Do While Not rng Is Nothing
rng.Delete Shift:=xlToLeft
Set rng = Range("A3:F5").Find(What:="0", LookIn:=xlValues, LookAt:=xlWhole)
Loop
Viel Erfolg!
Anzeige
AW: Nullzellen eliminieren
22.12.2005 12:09:18
IngGi
Hallo Herbi,
z.B. so müsste das gehen:

Sub NullLoeschen()
Dim rng As Range
For Each rng In UsedRange
If rng = 0 Then rng.Delete Shift:=xlToLeft
Next 'rng
End Sub
Gruß Ingolf
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige