Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Untereinanderstehende Zellen in eine zusammenführe

Untereinanderstehende Zellen in eine zusammenführe
20.02.2014 19:17:22
Herbert3A
Hallo Forum
Ich habe in der Recherche ein Makro gefunden, dass den Inhalt mehrerer untereinanderliegender Zellen in eine zusammenfasst, klasse. Jetzt mein "Wunsch":
Ich muss immer wieder Zellen (zwischen 2 und 6) in 3 neben einander liegenden Spalten in eine Zeile zusammen führen. Ich habe aber keine Ahnung, wie ich das Makro erweitern kann? Siehe beigefügte Mappe.
schon mal vielen Dank für's drüberschauen
Gruß Herbert
Sub Zusammenfassen()
' Tastenkombination: Strg+y
Dim Text As String
Dim Zelle As Range
Dim TrennZ As String
TrennZ = Chr(10) 'Neue Zeile
For Each Zelle In Selection
Text = Text & Zelle.Value & TrennZ
Next
Set Zelle = Nothing
On Error Resume Next
Set Zelle = Application.InputBox(Prompt:="Zielzelle auswählen", Type:=8)
On Error GoTo 0
If Not Zelle Is Nothing Then Zelle.Value = Left(Text, Len(Text) - 1)
End Sub
https://www.herber.de/bbs/user/89373.xls

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Im Archiv kannst du auch ein Pgm finden, ...
20.02.2014 21:44:29
Luc:-?
…bei dem es egal ist, welche zusammenhängenden Zellen (Zellbereich) zusammengeführt wdn sollen (physisch oder nur die Inhalte), Herbert;
findest du im Zusammenhang mit VerbundZellen (evtl nur auf einer hochgeladenen Datei).
Gruß Luc :-?

AW: Im Archiv kannst du auch ein Pgm finden, ...
20.02.2014 22:25:42
Herbert3A
Hallo Luc
wenn Du mir bitte einen link senden könntest wäre ich Dir sehr dankbar
Gruß Herbert

Anzeige
Ja, kann ich, ...
21.02.2014 00:49:17
Luc:-?
…Herbert;
eine das Pgm enthaltene BspMappe steht in diesem Beitrag zum DownLoad (für Hinweis Cursor auf den fetten Link im letzten BT setzen!). Sieh dir vor allem auch die Bspp auf Blatt2 an, damit klarer wird, wie zu verfahren ist.
Man könnte das Ganze natürlich auch (wie in dem von dir gezeigten Pgm) einfach verbinden, aber das verlinkte Pgm ist universeller, es kann den Text auch in einer zwecks PgmAufruf von dir angelegter (temporärer) VerbundZelle belassen, Formate mit übernehmen u.m. Damit das alles fktioniert, darfst du die Ereignisroutinen im DokKlassenModul der Mappe nicht vergessen (sieh dir alles an!) und musst eine MusterVerbundZelle (leer, aber ggf formatiert) auf die übliche Weise anlegen. Diese kopierst du dann mit dem FormatPinsel (nur Formate übertragen) auf die zu verbindenden Zielbereiche. Die Frage, die dir dann das dadurch ausgelöste Pgm stellt, solltest du mit Ja beantworten.
Alles Weitere wirst du beim Ausprobieren schon herausfinden.
Morrn, Luc :-?

Anzeige
AW: Ja, kann ich, ...
21.02.2014 10:50:47
Herbert3A
Hallo Luc
Danke erst mal, aber ich brauche nur den Verbund von 3 nebeneinander liegenden Spalten mit einer unterschiedlichen Anzahl von Zeilen in eine Zeile mit 3 Spalten (mit Zeilenumbruch) so wie ich es in meiner Mappe dargestellt hatte. Ich muss das x-mal machen und darum soll das schnell gehen. Mit dem Zusammenfassen-Makro kann ich sehr schnell eine Spalte bearbeiten, ich möchte auf die gleiche Weise 3 Spalten verarbeiten.
Gruß Herbert

Anzeige
Deine BspMappe lässt sich durchaus mit ...
22.02.2014 16:06:47
Luc:-?
…meiner Methode in der von dir gewünschten Weise behandeln, Herbert,
wenn man nachfolgende kleine Veränderungen vornimmt.
Dazu mal eine TestAnleitung:
1. Kopiere den Inhalt deines BspBlattes auf das noch freie 3.Blatt meiner BspMappe!
2. Lege zu den Bspp ab Zeile 20 eine Spalte mit leeren VerbundZellen an, also zB hier F20:F21, F23:F27, F29:F32, F34:F35!
3. Formatiere diese VerbundZellen auf linksbündig, Zeilenumbruch und ggf noch vertikal-nach-oben-orientiert!
4. Nimm folgende PgmÄnderungen vor!
Im Modul1VbZellMenue: 2× Application.Undo durch Ziel.MergeCells = False ersetzen!
In DieseArbeitsmappeWorkbook_SheetChange: PgmKörper durch folgd Neufassung ersetzen!
    Dim mx As Range
If Target.MergeCells Then
Call VbZellMenue(Target)
ElseIf IsNull(Target.MergeCells) Then
For Each mx In Target
If mx.MergeCells Then Call VbZellMenue(mx.MergeArea.Cells)
Next mx
End If
Dadurch kann man die Formate aller MusterVerbundZellen auf 1× auf den Anwendungsbereich übertragen (das wären hier alle 3 nebeneinanderliegenden Spalten, die lt Bsp zwar separat, aber mit gleichen Einstellungen formatiert wdn sollen).
5. Wähle alle Zellen von F20:F35 mit dem FormatPinsel-Button aus und setze den Pinsel auf B20:D35!
6. Beantworte die 1.Frage mit Ja, die 2. ebenso und die 3. nach Wunsch (bei Ja erscheinen diese Fragen erst wieder nach Blattwechsel)!
Damit hast du ein universelles und schnelles Werkzeug für derartige Operationen (inkl Format-Mitnahmen → dieser Teil ist auch noch ausbaufähig).
Gruß + schöWE, Luc :-?
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Untereinanderstehende Zellen in eine zusammenführen


Schritt-für-Schritt-Anleitung

  1. Makro erstellen:

    • Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
    • Füge ein neues Modul ein (Einfügen > Modul).
    • Kopiere den folgenden VBA-Code in das Modul:
    Sub Zusammenfassen()
       Dim Text As String
       Dim Zelle As Range
       Dim TrennZ As String
       TrennZ = Chr(10) 'Neue Zeile
       For Each Zelle In Selection
           Text = Text & Zelle.Value & TrennZ
       Next
       On Error Resume Next
       Set Zelle = Application.InputBox(Prompt:="Zielzelle auswählen", Type:=8)
       On Error GoTo 0
       If Not Zelle Is Nothing Then Zelle.Value = Left(Text, Len(Text) - 1)
    End Sub
  2. Zellen auswählen:

    • Wähle die Zellen aus, deren Werte du untereinander in einer Zelle zusammenführen möchtest.
  3. Makro ausführen:

    • Drücke Strg + Y, um das Makro auszuführen.
    • Wähle die Zielzelle aus, in der die Werte zusammengeführt werden sollen.
  4. Formatierung anpassen:

    • Stelle sicher, dass die Zielzelle auf „Zeilenumbruch“ eingestellt ist, um den Text untereinander anzuzeigen.

Häufige Fehler und Lösungen

  • Fehler: "Zielzelle nicht ausgewählt":

    • Stelle sicher, dass du die Zielzelle im Input-Dialog auswählst.
  • Problem: Text wird nicht untereinander angezeigt:

    • Überprüfe, ob der Zeilenumbruch in der Zielzelle aktiviert ist. Gehe zu Start > Ausrichtung > Zeilenumbruch.
  • Makro funktioniert nicht:

    • Überprüfe, ob du den Code korrekt kopiert hast und die notwendigen Berechtigungen zur Ausführung von Makros in Excel aktiviert sind.

Alternative Methoden

  • Textverkettung:

    • Du kannst die Funktion =TEXTVERKETTEN() verwenden (verfügbar in neueren Excel-Versionen), um mehrere Zellen mit einem Zeilenumbruch zu verbinden. Beispiel:
    =TEXTVERKETTEN(CHAR(10), WAHR, A1:A6)
  • Formeln:

    • Eine einfache Formel könnte auch genutzt werden, um Werte aus mehreren Zellen in eine Zelle zu kombinieren. Hierbei kannst du & verwenden, um Text in einer Zeile zusammenzuführen, aber ein Zeilenumbruch ist mit dieser Methode nicht direkt möglich.

Praktische Beispiele

  • Beispiel 1: Du hast in den Zellen A1 bis A5 Namen, die du in B1 zusammenführen möchtest. Wähle A1:A5 aus und führe das Makro aus, um die Namen untereinander in B1 zu sehen.

  • Beispiel 2: Wenn du einen langen Text in Zellen B1 bis B3 hast und diesen in C1 zusammenfassen möchtest, wähle die Zellen B1:B3 aus und führe das Makro aus.


Tipps für Profis

  • Verwendung von Shortcut: Du kannst einen Shortcut für dein Makro erstellen, um es noch schneller auszuführen. Gehe dazu in den VBA-Editor und wähle Extras > Makro > Makros, wähle dein Makro aus und klicke auf Optionen.

  • Makro anpassen: Wenn du häufig mit einer bestimmten Anzahl von Zellen arbeitest, kannst du das Makro anpassen, um diese Zellen automatisch auszuwählen.

  • Formatierungen: Achte darauf, dass die Zielzelle die gleiche Formatierung wie die Quellzellen hat, um ein einheitliches Erscheinungsbild zu gewährleisten.


FAQ: Häufige Fragen

1. Kann ich das Makro anpassen, um mehr als 3 Spalten zusammenzuführen? Ja, du kannst das Makro ändern, um eine beliebige Anzahl von Spalten zu verarbeiten. Passe einfach die Auswahl in der For Each-Schleife an.

2. Funktioniert das Makro in allen Excel-Versionen? Das Makro sollte in den meisten modernen Excel-Versionen funktionieren, allerdings sind einige Funktionen wie TEXTVERKETTEN() nur in neueren Versionen verfügbar.

3. Wie kann ich die zusammengeführten Werte später bearbeiten? Die zusammengeführten Werte werden in einer Zelle angezeigt. Du kannst die Zielzelle jederzeit bearbeiten, um den Text zu ändern.

4. Was ist die Neufassung mit 6 Buchstaben? Die Neufassung mit 6 Buchstaben ist ein Hinweis auf eine spezifische Anpassung oder Änderung in deinem Makro, die du vornehmen kannst, um es an deine Bedürfnisse anzupassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige