Hallo www-Gemeinde,
leider bin ich kein Makro-Spezialist, ich hab mir aber sagen lassen, dass folgende Aufgabe mit einem Makro lösbar ist.
Ich hab eine Tabelle mit etwa 550 Zeilen. In Spalte E, F, G und H sind jeweils 3-stellige Zahlen. Die Zahlen der einzelnen Zellen sollen mit einem Leerzeichen dazwischen in die Spalte D geschrieben werden. Das ganze für jede Spalte.
Bsp:
D…E…F…G…H
…187…256…973…AB1
Nach Makrodurchlauf müsste in der D Zeile folgendes mit jeweils einem Leerzeichen stehen.
D…E…F…G…H
187 256 973 AB1…187…256…973… AB1
Weiss jemand von Euch wie dieses Makro geschrieben werden muss?
Vielen Dank für Eure Hilfe
Gruß
Gerhart
Hallo Gerhart,
du kannst das Ganze auch ohne Makros erledigen (obwohl ich auch auf Makros schwöre):
- Schreibe in die Zelle D1 die Formel: „=E1 & " " & F1 & " " & G1 & " " H1“
- Ziehe die Formel nach unten - soweit du eben brauchst.
- Markiere jetzt die Spalte D und kopiere sie in die Zwischenablage.
- Gehe ins Menü „Bearbeiten/Inhalte einfügen…“ und wähle dort den Punkt „als Wert“ (oder so ähnlich) aus.
Danach erscheint diese zusammengesetzten Zahlen nicht mehr als Formel sondern als Wert. Falls dir die Formeln natürlich lieber sind (für neue Zahlen, fallen eben Punkt 3 und 4 weg).
Hier nun das Makro, welches du ausführen müsstest:
Sub Zusammenführen()
Ze = 1 'Beginn in Zeile 1
Do While Not Cells(Ze,5).Value = „“ 'arbeitet solange die Tabelle ab, bis in der Spalte E kein Wert mehr vorhanden ist
Cells(Ze,4).Value = Cells(Ze,5).Value & " " & Cells(Ze, 6).Value & " " & Cells(Ze,7).Value & " " Cells(Ze, 8).Value 'schreibt in die Spalte D den Wert aus den folgenden Spalten
Ze = Ze + 1 'erhöht die Zeilenzahl (ganz wichtig)
Loop
End Sub
Gruß Tobias
Vielen Dank
Hallo Tobi@s,
vielen Dank für deine Hilfe. Die Sache mit einer Formel zu machen ist doch auch sehr elegant…
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]