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

Zeilen löschen

Zeilen löschen
06.12.2019 19:35:17
Xulio
Hallo zusammen,
ich hätte da gerne mal ein Problem:
Ich bin aktuell dabei eine Checkliste zu erstellen. Die Einträge in meine Arbeitsmappe sollen über Text- und Kombinatiosnfelder durch die Bestätigung mittels Button aus der Userform in meine Checkliste übertragen werden. Das funktioniert auch alles soweit.
Ich habe jetzt ein Button mit "Beenden" eingefügt. Bei Auswahl sollen sich meine Msgbox und meine Userform schließen und die Zeilen, in denen kein Wert in der zweiten Spalte eingetragen wurde (betreffende Zeilen 9 bis 16), sollen gelöscht werden. Die ersten beiden Punkte klappen auch soweit.
Das Löschen habe ich wie folgt zu lösen versucht (vermutlich auch nicht besonders elegant):
For i = 9 To 16
If Cells(i, 2).Value = "" Then
Cells(i, 2).Delete
End If
Next i
Allerdings passiert dabei überhaupt nichts.
Bin für alle Infos dankbar!
Gruß
Xulio

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen
06.12.2019 19:41:44
Hajo_Zi
die Schleife musss vom letzten ztum ersten laufen.
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?

AW: Zeilen löschen
06.12.2019 20:23:14
onur
WAS soll denn passieren?
Wenn die Zelle "" - also leer - ist, soll sie gelöscht werden ? Was genau willst du den an einer leeren Zelle löschen?
AW: Zeilen löschen
06.12.2019 21:44:24
Piet
Hallo Xulio
Hajo hat deine Frage zwar beantwortet, ich nehme aber an das du es nicht verstanden hast. Beim Zeilen löschen muss die For Next Schleife mit Step -1 Rückwaerts laufen, weil sonst der Zeilenzahler durcheinander kommt!
mfg Piet
For i = 16 To 9 Step -1
If Cells(i, 2).Value = "" Then
Rows(i).Delete shift:=xlUp
End If
Next i

Anzeige
AW: Zeilen löschen
06.12.2019 22:00:35
GerdL
'n Abend,
noch ein Spielzeug.
If WorksheetFunction.CountBlank(Range("B9:B16")) > 0 Then
Range("B9:B16").SpecialCells(xlCellTypeBlanks).Delete 'Zellen löschen
' Range("B9:B16").SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'Zeilen mit leerer Zelle  _
in Spalte B löschen
End If

Gruß Gerd
AW: Zeilen löschen
07.12.2019 13:08:00
Luschi
Hallo,
da Excel bei jedem Zeilen-/Spalten-Löschbefehl das Tabellenblatt neu rechnet, sollte man erst _ die Leerzellen sammeln und erst zum Schluß den Delete-Befehl auf die Sammlung anwenden:

Dim rg As Range
For i = 16 To 9 Step -1
If Cells(i, 2).Value = "" Then
If rg Is Nothing Then
Set rg = Cells(i, 2)
Else
Set rg = Union(rg, Cells(i, 2))
End If
End If
Next i
If Not (rg Is Nothing) Then
rg.EntireRow.Delete xlShiftUp
End If
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Zeilen löschen
08.12.2019 15:56:35
Xulio
Hallo zusammen,
erstmal danke für die zahlreichen Antworten!
Werde, dass jetzt mal alles ausprobieren und schauen, ob ich damit klar kommen.
Zu onurs Frage:
Ich habe auf dem Arbeitsblatt einen gewissen Bereich, in den meine Informtionen eingetragen werden sollen. Dafür habe ich eine gewisse Anzahl an leeren Zeilen unterhalb angefügt, falls über meine eine Combibox der einen Userform noch weitere Punkte ausgewählt werden, die dazukommen. Die übrigen Zeilen sollen dann gelöscht werden.
Hatte ja gesagt, dass das vermutlich nicht besonders elegant ist.
Habe mir daher jetzt auch überlegt, ob es vielleicht die einfacherer und elegantere Lösung ist, durch das Auswählen der Punkte in der Combibox und das Bestätigen durch den Button in der Combibox einfach eine neue Zeile eingefügt wird, statts vorher manuell leere Zeilen einzufügen und dann anschließend bei Nichtbenutzung wieder zu löschen.
Beste Grüße
Xulio
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige