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

Forumthread: Zeilen ohne Inhalte kopieren und löschen

Zeilen ohne Inhalte kopieren und löschen
08.10.2020 15:56:08
Martina
Hallo zusammen,
ich weiß das es etwas "unschön" ist sich einen Code aus einem Forum zu benutzen und diesen für seine Zwecke anzupassen. Da ich aber sehr neu in der VBA Welt bin und da Ideen habe, wusste ich mir nicht aders zu helfen und benötigte bitte Hilfe.
Ich habe eine Excel-Liste in welcher ab Zeile 8 in jeder 2 Zeile von B - Q Namen teils über Dropdown eingetragen werden. Nach jeder Zeile sind die Makros um die darüberliegende Zeile zu speichern.
Nun können Zeilen welche ich nicht mehr benötige einzeln per Makro in eine Datenbank kopier werden, und diese Zeile wird dann geleert. (Formeln, Rahmen, Bedingte Formatierungen und Farben bleiben an Ort und stelle)
Nun sollten die unteren Zeilen automatisch nach oben rutschen, sodass ich keine leeren Zeilen mehr habe (sollte eine zwischen drin die Datenbank gewandert sein) und immer nach untenscrollen muss. Ich kommen hier mit Cut.Destination nicht ganz zurecht, da mir dieses ja die komplette Zeile ausschneidet.
Sub Schaltfl?che1_Klicken()
Dim WsZiel As Worksheet
Dim wsQuelle As Worksheet
Dim i As Long
Dim j As Long
Set wsQuelle = ThisWorkbook.Worksheets("Tabelle1")
Set WsZiel = wsQuelle.Parent.Worksheets("Tabelle1")
With wsQuelle
i = 6
Do While i 

Ich was das ich Quelle und Ziel entfernen könnt aber vielleicht wird dann alles noch umgebaut.
Vielen Lieben Dank .
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen ohne Inhalte kopieren und löschen
08.10.2020 16:23:37
Daniel
Hi
ich würde es so machen:
1. per formel die Zeilen kennzeichnen, die die bleiben mit der Zeilennummer und die die weg sollen, mit einem "x"
2. sortieren der Liste nach dieser Kennzeichnung, dann kannst du die Zellen in einem Rutsch "entfernen"
with wsQuelle.UsedRange
with .Columns(.Columns.Count + 1)
.formulaR1C1 = "=IF(RC2="""",""x"",Row())"
.Formula = .value
.EntireRow.Sort Key1:=.cells(1, 1), order1:=xlascending, Header:=xlno
if .Cells(.Cells.Count, 1) = "x" then
with  .SpecialCells(xlcelltypeconstants, 2).EntireRow
.Resize(10).Copy Destination:=wsZiel.Cells(2, 1)
.EntireRow.Clear
end with
end if
.clearContents
end with
end with
Gruß Daniel
Anzeige
AW: Zeilen ohne Inhalte kopieren und löschen
08.10.2020 16:33:01
Yal
"unschön, Code aus einem Forum zu benutzen und diesen für seine Zwecke anzupassen"
--> ganz im Gegenteil, dafür ist es gedacht. Wichtig ist das Gehirnschmalz, das man selber reinbringt, und nicht nach stumpften Copy-paste mekern "es tut nicht".
Dein Problem ist ein alte Bekannter: Zeile 7 verschwindet, Zeile 8 wird Zeile 7, 9 --> 8, nächste Zeile ist das alte "9", alte "8" wird ignoriert.
Anstatt einen While, verwende einen For und zwar vom Ende zu Anfang (Step -1)
LetzteZeile = wsQuelle.Cells("B100000").End(xlUp).Row
For i = LetzteZeile To 2 Step -1
If IsEmpty...
Next
Alternativ per Hand (ist mehr speed):
_ Hilfspalte einführen
_ Zeilennummer oder Reihe eintragen
_ sortieren, sodass leere Zeilen zusammen kommen (ev. Hilspalte dafür nötig)
_ leere Block löschen
_ nach Hilfspalte "originale Reihenfolge" sortieren
_ Hilfspalte löschen
Viel Erfolg
Yal
Anzeige
AW: Zeilen ohne Inhalte kopieren und löschen
08.10.2020 17:54:00
onur
"ich weiß das es etwas "unschön" ist sich einen Code aus einem Forum zu benutzen und diesen für seine Zwecke anzupassen" - wieso ? dafür siond Foren wie dieses schliesslich (unter Anderem) da.
Du brauchst doch nur nach dem Cut die ganze Zeile zu löschen, dann rutscht alles brav nach oben.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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