VBA Code: Zeilen mit Inhalt "leer" löschen?

2 Antworten

Ich verstehe nicht so genau was Du genau machst. Ich sehe keine Notwendigkeit, dass leer überhaupt eingetragen wird, aber so sei es.

Die Übertragung von einer Stelle auf der anderen sollte nicht mit Copy/Paste erfolgen.

das kann man auch mit Variablen lösen bzw. mit einer Schleife, die alle Zellen einzeln durchforstet und überträgt. Sollte in einer Zelle "leer" stehen, überspringst Du den Schritt.

Woher ich das weiß:eigene Erfahrung
BABerger 
Fragesteller
 14.07.2022, 19:10

Ich weiß das es nicht sein muss, deshalb habe ich auch hinzugefügt, dass ich auch für Lösungen unabhängig davon dankbar bin. Nur nach weiteren Stunden am Schreiben und ändern bin ich trotzdem noch nicht weiter. Trotz Versuch mit Variablen und Schleifen - es macht nie das was ich möchte.

Ich will, um es nochmal explizit zu formulieren, aus "Bestandskunden" 1-4 Zeilen (je nach Eintrag) in die Datenbank "kopieren" (wenn korrekt befüllt und nicht "leer" - sind allerdings überall Formeln hinterlegt...).

Für eine andere Formel, benötige ich den letzten Wert aus einer Spalte, daher sollte es immer korrekt übertragen werden und keine "leeren" Zeilen haben....

0
BABerger 
Fragesteller
 14.07.2022, 19:16

Oder: wenn in "BestandsKunde" in N3:AE6 die Formel einen Wert ausspuckt soll es in die "Datenbank" übernommen werden, wenn kein Wert ausgespuckt wird, dann halt nicht...

0

Zeilen löschen beginnt man besser von unten. Den Code auf deine Blattnamen und Spalten anpassen. Diesen Code komplett separat nach dem Kopier Vorgang anwenden. (Mit einer automatisierten Filterung + Löschen ginge es schneller)

Dim last As Integer
last = Cells(Rows.Count, 1).End(xlUp).Row + 1

Do while WorksheetFunction.CountIf(Tabelle1.Range("A1:A" & last), "leer") > 1
If Tabelle1.Range("A" & last).Value = "leer" then
Tabelle1.Rows(last).Delete
else
last = last -1
end if
loop