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

leeren Zeilen löschen und Inhalte hochschieben

leeren Zeilen löschen und Inhalte hochschieben
Chris
Hallo Leute,
ich benötige ein Makro, dass den Bereich A1:A10 auf leere Zellen untersucht, wenn gefunden, soll es den Inhalt dieser und die benachbarten zwei Zellen in derselben Reihe löschen. Ich habe mir folgendes Makro gebastelt, dass mir leider den gesamten Bereich löscht.....
Zusätzlich wäre es toll, wenn - nachdem die Inhalte gelöscht wurden - alle darunter liegenden Angaben (Gesamtbereich ist A1 bis D10) untereinander auflistet, d. h. hoch schiebt, so dass man keine leeren Zeilen dazwischen hat.
Ich hoffe das ist verständlich...hier mein Versuch, als VBA-Anfänger weiss ich leider nicht weiter.
Sub test()
Worksheets("Tabelle1").Select
Range("A1:A10").Select
For Each cell In Selection
If cell.Value = "a" Then
Range(Selection, Selection.Offset(0, 2)).ClearContents
End If
Next
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: leeren Zeilen löschen und Inhalte hochschieben
17.06.2011 22:15:12
Rudi
Hallo,
wie soll man denn den Inhalt einer leeren Zelle löschen? Ne leere Dose auskippen geht doch nicht.
Oder sollen die Zellen gelöscht werden?
Gruß
Rudi
AW: leeren Zeilen löschen und Inhalte hochschieben
17.06.2011 22:22:05
Chris
Hallo Rudi,
hast Recht, habe mich falsch ausgedrückt.
So: Suche den Bereich A1:A10 nach leeren Zellen ab. Überall dort, wo eine leere Zelle in Spalte A ist, lösche nur die INHALTE der benachbarten zwei Zellen.... (clearcontents)...dann schiebe alle restlichen Zellen des Gesamtbereichs A1:D10 untereinander ohne leere Zeilen dazwischen.
:-)
Chris
immer noch nicht schlüssig
17.06.2011 22:30:38
Rudi
Hallo,
wenn jetzt aber z.B. A4 leer ist, man B4:C4 löscht, jedoch in D3:D4 was steht, wie soll man denn D4 hochschieben?
Teste das mal:
Sub xxx()
Dim r As Range, a As Range
Set r = Range("A1:A10").SpecialCells(xlCellTypeBlanks)
For Each a In r.Areas
a.Resize(, 3).Delete xlUp
Next a
End Sub

Gruß
Rudi
Anzeige
AW: immer noch nicht schlüssig
17.06.2011 22:43:21
Chris
Hi Rudi,
genau das, was ich brauche. Super. Deinen Einwand lass ich jetzt mal weg, hast es ja verstanden :-)
Hier mal mein erstes Makro, darfst auch Kopfschütteln...
'

Sub test()
'Worksheets("Tabelle1").Select
'Range("A1:A3").Select
'For Each cell In Selection
'If cell.Value = "" Then
'cell.Offset(0, 2).ClearContents
'End If
'Next
'End Sub
Immerhin habe ich es geschafft, dass die 2 Zellen neben der leeren gelöscht werden. Nur aus Neugier: Wie fügt man in meinem Makro die "schiebe alle restlichen Zellen nach oben"-Funktion ein?
Gruß,
Christ
Anzeige
AW: immer noch nicht schlüssig
17.06.2011 23:12:07
Chris
HI Rudi,
ich habe dein makro nochmal getestet, und stehe vor einem neuen Problem. Zur Lösung brauch ich folgendes, hoffe ich zumindest :-), ich bemühe mich so genau wie möglich zu sein.
Bedingt dadurch, dass alle anderen Zellen mit Inhalt nun nach oben rutschen, werden ja meine Zellen mit Inhalten insgesamt weniger. Löscht sich zum Beispiel A2, rutscht der Inhalt von A10 nach A9. Soweit ok. Nun sollen die Zellen nach dem letzten Eintrag immer mit "--" gefüllt werden, sodass man nach unten niemals leere Zellen hat. Beispiel:
Bereich A1:D4 Vor dem Zusammenschieben:
aa bb cc dd
XX cc dd ee (XX soll leere Zeile sein!!!)
aa dd ff gg
aa bb cc dd
daraus wird.
aa bb cc dd
aa dd ff gg
aa bb cc dd
-- -- -- --
Hoffe das ist verständlich. :-/ -)
Anzeige

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige