Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1964to1968
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

"0" Werte in letzter Zeile finden und löschen

"0" Werte in letzter Zeile finden und löschen
08.02.2024 17:28:18
Strueddilueddi
Hallo zusammen

ich habe eine Tabelle in der ich in der jeweils letzten Zeile (in diese werden durch ein vorheriges Makro Daten kopiert) die 0 suchen und löschen möchte.
Mit folgender Formal funktioniert es, jedoch sehr langsam, da ja die ganze Tabelle durchsucht wird.

Sub Nullweg()

Dim rng As Range
For Each rng In Sheets("database").Range("database")
If rng.Value = 0 Then rng.ClearContents
Next
End Sub


Gibt es eine Möglichkeit statt der ganzen Tabelle nur die letzte Zeil zu durchsuchen oder die 0 erst gar nicht zu kopieren? Die 0 entsteht, da in der kopierten Zelle zwar kein Wert aber eine Formel ist ( soviel wie ich verstanden habe funktioniert dann skipblanks nicht).

vorheriges Makro zum kopieren und einfügen in der letzten Zeile

Sub CopyPaste()

'

Sheets("Zwischenablage").Range("B2:Aw2").Copy
With Sheets("database").Range("A65536").End(xlUp).Offset(1, 0)
.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=True, Transpose:=False

End With
End Sub


Vielen Dank für eure Hilfe.

Viele Grüsse

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "0" Werte in letzter Zeile finden und löschen
08.02.2024 17:51:49
schauan
Hallöchen,

Du könntest im zweiten code vor das End With diese 3 Zeilen einfügen:

'Schleife von Spalte A bis AW
For icnt = 1 To 49
If Cells(.Row, icnt).Value = 0 Then Cells(.Row, icnt).Value = ""
Next

(beachte die Punkte vor Row)
AW: "0" Werte in letzter Zeile finden und löschen
09.02.2024 08:48:11
Strueddilueddi
Guten Morgen Schauan

vielen Dank für die Antwort. Ich habe den Code kopiert und wie du beschrieben hast eingefügt. Allerdings ändert sich an den "0" n nichts, sie sind immer noch da nachdem ich den Code habe laufen lassen.
Der gesamte Code sieht jetzt so aus
Sub CopyPaste()

'

Sheets("Zwischenablage").Range("B2:Aw2").Copy
With Sheets("database").Range("A65536").End(xlUp).Offset(1, 0)
.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=True, Transpose:=False

'Schleife von Spalte A bis AW
For icnt = 1 To 49
If Cells(.Row, icnt).Value = 0 Then Cells(.Row, icnt).Value = ""
Next

End With
End Sub


Habe ich etwas übersehen?
Viele Grüsse
Anzeige
AW: "0" Werte in letzter Zeile finden und löschen
08.02.2024 18:05:32
daniel
Hi
nimm Replace zum entfernen der 0
das geht schneller, weil du damit alle Zellen auf einmal bearbeiten kannst.
die Zellen werden dabei genauso geleert wie bei .Clearcontents

Sheets("database").Range("database").Replace "0", "", xlwhole


wenns nur die letzte zeile sein soll:
with Sheets("database").Range("database")

.Rows(.Rows.Count).Replace "0", "", xlwhole
end with


Gruß Daniel
AW: "0" Werte in letzter Zeile finden und löschen
08.02.2024 18:17:44
schauan
@Daniel
das ersetzt aber keine Formelergebnisse :-(
AW: "0" Werte in letzter Zeile finden und löschen
09.02.2024 08:53:26
Strueddilueddi
Guten Morgen Daniel

ich habe deinen Code trotz der Einwände von Schauan mal versucht und so wie es aussieht funktioniert das. Ich nehme an, da in der bereits eingefügten letzten Zeile ja nur die Werte eingefügt wurden (die Formeln stecken in den zu kopierenden Zellen), und da somit "nur" die 0 steht geht das oder?

Auf jeden Fall sieht es so aus wie ich mir das vorgestellt habe, geht schnell und ich bin happy ;)

Vielen Dank also für deine Hilfe.

Viele Grüsse

Anzeige
AW: "0" sorry, Kommando zurück :-(
08.02.2024 18:23:34
schauan
... mir ist gerade wieder eingefallen, dass der TE ja mit PasteSpecial keine Formeln übernimmt, da passt das natürlich :-(

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige