17.02.2022, 10:58 (Dieser Beitrag wurde zuletzt bearbeitet: 17.02.2022, 10:59 von Eizi100.)
Hallo Zusammen Mit folgendem Code lösche ich die Leere Zelle (Nicht Zeile) inkl der 2 Nachbarzellen
Nun zu meinen 2 Problemen 1.Problem Der Code löscht mir Die Zelle A B und C und verschiebt mir natürlich alle unteren Zellen (unter Zeile 20) nach oben. Kann man irgendwie verhindern, dass die unteren Zellen nicht verschoben werden? Der Hintergrund ist, dass ich diesen Code auf mehrere Bereiche benötige. 2.Problem Es kommt eine Fehlermeldung, wenn mal keine Leerzeile gefunden wird. Hat jemand eine Idee, wie ich diesen Fehler abfangen kann?
PHP-Code:
Sub loeschen_mehrere_Spalten() 'Suchmatrix Spalte A Dim r1, r2, r3 As Range
Set r1 = Range("A1:A20").Cells.SpecialCells(xlCellTypeBlanks) Set r2 = r1.Offset(0, 1) Set r3 = r1.Offset(0, 2) Union(r1, r2, r3).Select Selection.Delete Shift:=xlUp End Sub
Zitat:Der Code löscht mir Die Zelle A B und C und verschiebt mir natürlich alle unteren Zellen (unter Zeile 20) nach oben.
Zitat:Kann man irgendwie verhindern, dass die unteren Zellen nicht verschoben werden?
verstehe ich nicht, diesen Zustand hast du doch, wenn die Zellen, bzw. deren Inhalte aufgerückt werden. A, B und C sind Spalten, keine Zellen. Was soll nun gemacht werden? Haben die Zellen in allen drei Spalten keinen Inhalt, wenn gelöscht werden soll? Apropos löschen: man kann Zellinhalte löschen, aber keine Zellen. Meinst du wenn in einer Zeile in den Spalten A bis C kein Inhalt ist, soll der Rest "ausrutschen"? Das könnte man auch mit einer Sortierung erreichen.
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag 28 • Eizi100
17.02.2022, 11:23 (Dieser Beitrag wurde zuletzt bearbeitet: 17.02.2022, 11:38 von Eizi100.)
Hallo Klaus-Dieter Vorerst danke nochmal. Du und viele andere haben mir schon so oft geholfen. Die wichtigste Spalte ist die Spalte A. Ob die Nachbarzelle B und C befüllt ist oder nicht, ist egal. Nur in Spalte H steht Z.B =WENN(ISTFEHLER('1'!$C$7);"";'1'!$C$7) und das muss unverändert bleiben (Leider). Das ist die Crux
Ich lade dir mal einen Auszug der Liste hoch mit der ich wirklich arbeite. Das sind leider viele Bereiche, wo gearbeitet wird. Und diese Bereiche sollen nicht gelöscht werden bzw. es soll kein Bereich verändert werden.
wenn ich z.B im ersten Bereich was lösche, wandern natürlich Alle Zellen nach oben. Und das wäre nicht so gut.
LG Michael Wenn der IST Zustand so ist Kopiere ich das händisch nach oben. Und das will ich automatisieren [ Bild bitte so als Datei hochladen: Klick mich! ]
17.02.2022, 11:54 (Dieser Beitrag wurde zuletzt bearbeitet: 17.02.2022, 12:30 von Eizi100.)
Hallo nochmal
Du hast mir mit der Antwort irgendwie geholfen. Ich möchte mich herzlich bedanken
Ich muss die Zellen verschieben und nicht löschen. Ich werden mal im NETZ nach sowas suchen Danke nochmal
LG Michael Hab die Lösung
Das einzige ist, wenn ich mehrere Bereiche habe???? Das bekomme ich auch noch hin
PHP-Code:
Sub saeubern() Dim arOut(1 To 20, 1 To 2), arIn Dim L As Long, M As Long, N As Long
arIn = Range("A1:B20").Value
For L = LBound(arIn) To UBound(arIn) If arIn(L, 1) <> "" Then N = N + 1 For M = LBound(arIn, 2) To UBound(arIn, 2) arOut(N, M) = arIn(L, M) Next End If Next Range("A1:B20").Value = arOut End Sub
ich möchte da noch mal nachhaken: in Spalte A hast du verbundene Zellen, das ist ganz schlecht. Dann gibt es mehrere leere Spalten, das ist auch schlecht. Beschreibe bitte noch mal, was genau da passieren soll, also zum Beispiel leere Zelle in Spalte A, dann mache folgendes.
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
17.02.2022, 14:45 (Dieser Beitrag wurde zuletzt bearbeitet: 17.02.2022, 14:46 von Eizi100.)
Hi Klaus-Dieter Die Zellen in Spalte A habe ich nur für dieses Forum, zur besseren Übersicht, verbunden...die sind normalerweise nicht verbunden.. das Blatt ist ein Datenblatt.. in dieses lese ich fast alle Daten (Spalte B SpalteC und Spalte D) ein.. aus diesem Blatt hole ich dann die Daten, über Verweise, Verküpfungen usw, die Daten in andere Blätter.und diese Verweise sind natürlich fix .Die Daten hole ich dann aus DIESEM Blatt ohne VBA. Die Spalte mit den Verweisen in dem Datenblatt hat eigentlich keine Relevanz. Ich hoffe du kennst dich aus mit dem Geschreibe.
Ich muss ja selber über mich lachen..ich habe seit Tagen versucht die Leerzeilen zu löschen. Wenn du mich auf das Sortieren gebracht hättest, würd3 ich noch immer suchen