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

Zellinhalte untereinander verschieben?

Zellinhalte untereinander verschieben?
06.05.2021 21:37:33
Sergej
Hallo Leute,
ich bekomme immer wieder Exceldateien, die aus einem System erstellt werden. Ich muss diese für die Kalkulation aufbereiten.
Wie kann bitte per VBA die Zellen der Spalte B:F unterhalb der Zelle der Spalte A verschieben? Nach dem Verschieben, soll in Spalte A noch eine leere Zeile hinzufügt werden. Das Makro soll von A5 bis letzte Zelle der Spalte A funktionieren. Ich hoffe ihr könnt mir bitte helfen.
Ich habe das Ganze in der beigefügter Datei https://www.herber.de/bbs/user/146044.xlsx
in Arbeitsblättern "vorher" und "Ergebnis" zum besseren Verständnis manuell nachgebaut.
Beste Grüße,
Sergej

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalte untereinander verschieben?
06.05.2021 21:44:20
Daniel
Hi
mit dieser Formel ab A5:
=WENN(ISTLEER(INDEX(vorher!$A:$G;QUOTIENT(ZEILE(A1)-1;7)+5;REST(ZEILE(A1)-1;7)+1));""; INDEX(vorher!$A:$G;QUOTIENT(ZEILE(A1)-1;7)+5;REST(ZEILE(A1)-1;7)+1))
Gruß Daniel
AW: Zellinhalte untereinander verschieben?
07.05.2021 15:04:25
Sergej
Hallo Daniel,
zunächst vielen Dank für deine Nachricht. Ich habe es mit der Formel nicht hinbekommen. :-)
Ich habe diese in Zelle A5 eingetragen und nach unten kopiert. Ich sehe keine Veränderungen. Evtl. ist meine Vorgehensweise falsch, oder?
Am liebsten würde ich dies gerne per VBA lösen wollen.
Beste Grüße,
Sergej
AW: Zellinhalte untereinander verschieben?
07.05.2021 17:28:24
Daniel
du kannst die Formel auch per VBA eintragen lassen.
bei mir hat sie in deiner Beispieldatei funktioniert.
Gruß Daniel
Anzeige
AW: Zellinhalte untereinander verschieben?
07.05.2021 15:54:55
PeTeR
Hallo Sergej
evtl so:

Sub Verschieben()
Dim ListenEnde As Long, Zeile As Long, Spalte As Long, EinfZeile As Long
EinfZeile = 5
ListenEnde = Range("A1000000").End(xlUp).Row
Worksheets.Add
For Zeile = 5 To ListenEnde
For Spalte = 1 To 6
Cells(EinfZeile, 1).Value = Worksheets("vorher").Cells(Zeile, Spalte).Value
EinfZeile = EinfZeile + 1
Next Spalte
EinfZeile = EinfZeile + 1
Next Zeile
End Sub
Viel Erfolg. schönes WE
PeTeR
AW: Zellinhalte untereinander verschieben?
07.05.2021 17:08:48
Sergej
Hallo Peter,
vielen Dank. Es funktioniert perfekt.
Beste Grüße,
Sergej
AW: Zellinhalte untereinander verschieben?
07.05.2021 22:40:30
Sergej
Hallo Peter,
ich habe versucht das Makro in aktivem Arbeitsblatt wie folgt anzuwenden:

Sub Verschieben()
Dim ListenEnde As Long, Zeile As Long, Spalte As Long, EinfZeile As Long
EinfZeile = 5
ListenEnde = Range("A1000000").End(xlUp).Row
'Worksheets.Add
For Zeile = 5 To ListenEnde
For Spalte = 1 To 6
Cells(EinfZeile, 1).Value = ActiveSheet.Cells(Zeile, Spalte).Value
EinfZeile = EinfZeile + 1
Next Spalte
EinfZeile = EinfZeile + 1
Next Zeile
End Sub
Die Formatierung von verschobenen Zellen wurde nicht übernommen. Geht das auf diesem Weg nicht? Außerdem wurde durch meine Änderung die Verschiebung ab der letzte Zelle der Spalte A durchgeführt.
Gruß Sergej
Anzeige
AW: Zellinhalte untereinander verschieben?
08.05.2021 08:18:12
Hajo_Zi
Du übertägst nur den Wert, nicht das Format.
Cells(Zeile, Spalte).copy Cells(EinfZeile, 1)
GrußformelHomepage
AW: Zellinhalte untereinander verschieben?
08.05.2021 17:58:44
Sergej
Hallo Hajo,
meinst du so:

Sub Verschieben()
'Inhalte vob Spalte B:F in Spalte A verschieben und eine leere Zeile einfügen usw. bis letzte Zelle der Spalte A
'Die Formatierung von von Zellen muss beibehalten werden
'Das Makro soll ab Zeile 5 ausgeführt werden
Dim ListenEnde As Long, Zeile As Long, Spalte As Long, EinfZeile As Long
EinfZeile = 6
ListenEnde = Range("A65536").End(xlUp).Row
For Zeile = 1 To ListenEnde
For Spalte = 1 To 7
'Cells(EinfZeile, 1).Value = Worksheets("test").Cells(Zeile, Spalte).Value
'        Cells(EinfZeile, 1).Value = ActiveSheet.Cells(Zeile, Spalte).Value
Cells(Zeile, Spalte).Copy Cells(EinfZeile, 1)
EinfZeile = EinfZeile + 1
Next Spalte
EinfZeile = EinfZeile + 1
Next Zeile
End Sub
Ich habe es in der Originaldatei mit ca. 230 Zeilen ausgeführt. Der Vorgang hat ca. 5 Minuten gedauert und der Rechner war sehr überlastet. :-) Ist das normal?
Ich vermute, dass ich deine Zeile nicht an der richtige Stelle eingefügt habe. Außerdem habe ich festgestellt, dass die Spalten B:F nach dem Ausführen nicht verschoben sondern kopiert wurden. Wahrscheinlich geht es nicht anders, oder?
Datei als Vorlage: https://www.herber.de/bbs/user/146082.xlsm
Gruß Sergej
Anzeige
AW: Zellinhalte untereinander verschieben?
08.05.2021 18:40:32
Hajo_Zi
Hallo Sergej;
ich habe mich an Deinen Code gehalten. Den Fehler muss auch schon Dein Code haben.
Ich erstelle die Lösung für das was im Beitrag dargestellt wurde.
Wird diese Darstellung geändert, überlasse ich anderen die Lösung, da ich schon eine Lösung erstellt hatte und dafür Zeit investiert habe.
Ich schreibe nicht für den Papierkorb.
Gruß Hajo
AW: Zellinhalte untereinander verschieben?
08.05.2021 18:47:53
Sergej
Hallo Hajo,
sorry - ich verstehe dich nicht. Trotzdem vielen Dank für deine Mühe in dieser Angelegenheit.
Gruß Sergej
AW: Zellinhalte untereinander verschieben?
09.05.2021 08:35:29
PeTeR
Hallo Sergej,
hier mein Vorschlag für verschieben mit Formatierung:

Sub Verschieben()
Dim ListenEnde As Long, Zeile As Long, Spalte As Long, EinfZeile As Long
EinfZeile = 5
ListenEnde = Range("A65536").End(xlUp).Row
Worksheets.Add
For Zeile = 5 To ListenEnde
For Spalte = 1 To 6
Worksheets("vorher").Cells(Zeile, Spalte).Copy Cells(EinfZeile, 1)
EinfZeile = EinfZeile + 1
Next Spalte
EinfZeile = EinfZeile + 1
Next Zeile
End Sub
Ich rate dazu, ein neues Blatt einfügen zu lassen (Worksheets.Add ist wieder drin), weil du sonst im Originalblatt Zeilen einfügen lassen musst (deutlich komplizierter).
Schönen So.
PeTeR
Anzeige
AW: Zellinhalte untereinander verschieben?
09.05.2021 14:21:04
Sergej
Hallo PeTeR,
vielen Dank. Es funktioniert perfekt. Ich wünsche dir auch einen schönen Sonntag.
Gruß Sergej

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige