16.06.2025, 12:32 (Dieser Beitrag wurde zuletzt bearbeitet: 16.06.2025, 12:34 von ExcelEnte.)
Ich möchte Zellen aus verschiedenen Zeilen kopieren, die dann in der gleichen Zeile landen. Leider werden die ausgewählten Zellen immer ohne Abstand kopiert. Gibt es da eine Lösung?
ohne VBA: nein mit VBA: ja, kann sich programmieren
einfachster Workaround: 1. wenn die Tabelle nicht über die Inhalte sortiert werden kann: originalreihenfolge in einer freien Spalte sichern (Zeilennummer als Festwert eintragen) 2. in einer weiteren Spalte die Zeilen die kopiert werden sollen mit einem Zeichen ("x") markieren, die anderen Zeilen leer lassen 3. die Tabelle nach der Spalte mit dem "x" sortieren, so dass alle Zeilen, die kopiert werden sollen, direkt untereinander stehen. 4. jetzt alles kopieren 5. Tabelle wieder in die originalreihenfolge zurücksortieren 6. die nachträglich hinzugefügten Spalten wieder löschen.
das Ergebnis landet in deinem Beispiel nicht in einer Zeile, sondern in einer Spalte und für gewöhnlich möchte man keinen Abstand haben. Was ist also der tiefere Sinn hinter deiner Frage oder, anders ausgedrückt, was möchtest du eigentlich erreichen?
Es ist eine Tabelle mit Texten und Zahlen und die Überschriften der Kapitel sollen eine Spalte nach vorne gezogen werden. Kann man zur Not auch von Hand Zeile für Zeile machen, wenn das in Excel nicht vorgesehen ist ... aber es wundert mich, dass es nicht geht.
16.06.2025, 13:39 (Dieser Beitrag wurde zuletzt bearbeitet: 16.06.2025, 13:41 von Gast 123.)
Hallo
deine Angaben sind sehr dürftig, aber hier ist das Excel "Clever" Forum!
Schau dir bitte mal diese Beispieldatei an. Button drücken, Quell Spalte angeben, Fertig! Setzte in deine Zielspalte in jede Zelle ein "x" und markiere deinen gesamten Ziel-Bereich! Beim Makro Start musst du natürlich die Quell-Spalte angeben, wo die Daten herkommen!
Das Makro aus Modul1 und den Button kannst du in deine Datei kopieren. Deine Datei muss danach aber als xlsm Datei gespeichert werden.
mfg Gast 123 Nachtrag: wenn uns die Quell- und Zielspalten bekannt gewesen wären könnte man das Makro einfacher schreiben. So ist es jetzt ein Universal Makro, kann auf jeden beliebigen Bereich angewendet werden!
falls VBA OK, dann siehe Anhang. Du kannst einfach die Zellen Markieren die du kopieren willst, wie in dein Beispiel und dann auf dem Button klicken! ;)
Code:
Sub test() Dim c As Range For Each c In Selection If c <> "" Then c.Offset(0, -1).Value = c.Value End If Next c End Sub
"-1" steht für eine Spalte vor der Markierung, du kannst es entsprechend anpassen ;) LG, Alexandra
(16.06.2025, 13:12)ExcelEnte schrieb: Es ist eine Tabelle mit Texten und Zahlen und die Überschriften der Kapitel sollen eine Spalte nach vorne gezogen werden. Kann man zur Not auch von Hand Zeile für Zeile machen, wenn das in Excel nicht vorgesehen ist ... aber es wundert mich, dass es nicht geht.
zellen löschen und dabei die folgenden Zellen nach links rücken lassen funktioniert mit Lücken