VBA - Excel - 00000 löschen

Zaiga

Lieutenant
Registriert
März 2011
Beiträge
932
Hallo zusammen,

ich habe ein Makro laufen und soweit funktioniert auch alles.
Das einzige Problem ist, ist folgendes, die "0" bleibt in einer Spalte übrig und geht über die anderen Daten "hinaus". Es sind nirgendwo Daten außer der 0. Weiß jemand wie ich das elegant in VBA löse?
Danke!
ABCDEF
1DatenDatenDatenDatenDaten
2DatenDatenDatenDatenDaten
XDatenDatenDatenDatenDaten
X+10
X+2..0
 
till69 schrieb:
Versuche einfach nochmal, Dein "Problem" zu erklären
Am Ende hat man die nachfolgende Tabelle mit dem Wert "0" in der Zelle DX+1 bis DZ (wobei Z = Tabellenende ist). Die Daten enden bei X.
Zaiga schrieb:
ABCDEF
1DatenDatenDatenDatenDaten
2DatenDatenDatenDatenDaten
XDatenDatenDatenDatenDaten
X+10
Z0
Wie kriegt man es nun hin das die "0" von DX+1 bis DZ gelöscht wird.
Ergebnis:
Zaiga schrieb:
ABCDEF
1DatenDatenDatenDatenDaten
2DatenDatenDatenDatenDaten
XDatenDatenDatenDatenDaten
X+1
Z
 
Zaiga schrieb:
ich habe ein Makro laufen und soweit funktioniert auch alles.
Nun denn, was tut das Makro und wo mag es Formeln geben?

Wenn ich einen nummerischen Wert in eine Zelle schreibe bekomme ich wenn der Wert »leer« ist eine Null (und wehe nicht!). also müsste ich die Zelle mit nichts (Leer-Zeichenkette "") befüllen wenn ich ›Nichts‹ drin sehen will.

CN8
 
Oder so formatieren, dass Nullwerte nicht angezeigt werden. Aber richtig, die Beschreibung des Problems ist sehr unklar, so richtig kann man da eigentlich keinen Tipp geben. Soll die Null gelöscht werden oder einfach nicht angezeigt?
 
Man koennte die Anzahl der leeren Zellen je Zeile bestimmen und wenn eine Zeile mehr als Z leere Zellen enthält, diese loeschen.
 
Hi,
also wie wäre es, wenn man zum Schluss noch eine Schleife über die betroffenen Zeilen laufen lässt und auf 0 überprüft und es ändert?
So fern du die Daten per Schleife abarbeiten lässt, könntest du schon da eine if Anweisung einfügen die eine 0 Ausgabe zuvorkommt.

Code:
Sub NullEntfernen()
Dim i As Long

    For i = 2 To Cells(Rows.Count, 4).End(xlUp).Row
    
        If Cells(i, 4) = 0 Then
        
            Cells(i, 4) = ""
            
        End If
        
    Next i
    
End Sub
 
Zuletzt bearbeitet:
Diese Mechanik muss doch schon gleich in dem Makro greifen das die Daten einbringt. aber das kennen wir ja immer noch nicht.
CN8
 
Der Threadersteller ist seit Sonntag raus, so dass wir nicht mal wissen, ob das Problem nicht vielleicht schon mit meinem Formatierungsvorschlag gelöst ist.
 
Zurück
Oben