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

Forumthread: verbundene Zellen auflösen

verbundene Zellen auflösen
Alfonso
Hallo VBA-Profis,
heute habe ich mal wieder eine Bitte zur Hilfestellung an Euch.
In einer Spalte sind mehrere Zellen verbunden und mit unterschiedlichen (willkürlichen) Inhalten gefüllt.
Dieser Zellverbund soll per VBA aufgehoben und die Inhalte in die nachfolgenden leeren Zellen eingetragen werden.
Anbei eine Beispieldatei: https://www.herber.de/bbs/user/81180.xlsx
Vielen Dank im voraus für die Unterstützung.
Gruß Alfonso
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: verbundene Zellen auflösen
27.07.2012 17:54:38
hary
hallo Alfonso
Mit meinem bescheidenem Wissen.Geht bestimmt noch eleganter.

Sub fuellen()
Dim i As Long
Dim anzahl As Long
Application.ScreenUpdating = False
For i = 3 To Cells(Rows.Count, 2).End(xlUp).Row
Range("B" & i).Select
With Selection
anzahl = .Count - 1
.MergeCells = False
Range("B" & i & ":B" & i + anzahl).Value = ActiveCell.Value
End With
Next
Application.ScreenUpdating = False
End Sub

gruss hary
Anzeige
AW: sry korrektur
27.07.2012 17:57:00
hary
Hallo
letzte Codezeile

Application.ScreenUpdating = False

aendern in

Application.ScreenUpdating =True

gruss hary
AW: verbundene Zellen auflösen
27.07.2012 18:40:55
Alfonso
Hallo Hary,
vielen Dank für die Lösung. Es hat bei dieser Ausgangssituation prima funktioniert.
Was ist, wenn die Daten erst ab der 11. Zeile beginnen und dann noch 10 weitere verbundene Bereiche vorkommen?
Da ich den Code noch nicht verstanden habe, wäre ich an eine kurzen Erläuterung für solche Fälle interessiert.
Danke wiederum im voraus für die Mühe.
Gruß Alfonso
Anzeige
AW: verbundene Zellen auflösen
27.07.2012 18:54:24
hary
Hallo
Code auskommentiert.

Sub fuellen()
Dim i As Long
Dim anzahl As Long
Application.ScreenUpdating = False
For i = 11 To Cells(Rows.Count, 2).End(xlUp).Row 'von Zeile 11 bis letzte Zeile
Range("B" & i).Select
With Selection
anzahl = .Count - 1 'stellt die Anzahl der zeilen im Verbund fest
.MergeCells = False 'loest den verbund
Range("B" & i & ":B" & i + anzahl).Value = ActiveCell.Value 'setzt den Text ein
End With
i = i + anzahl 'zusatz kuerzt die schleife
Next
Application.ScreenUpdating = True
End Sub

gruss hary
Anzeige
AW: verbundene Zellen auflösen
27.07.2012 19:35:28
Alfonso
Hallo Hary,
vielen Dank für Deine zusätzliche Mühe.
Jetzt ist es mir einigermaßen klar und kann auf individuelle Änderungen reagieren.
Wo bzw. wie hast Du Dir das Wissen angeeignet?
Ich habe schon 2 Bücher über VBA gelesen, aber so etwas oder andere Beispiele lernt man da nicht.
Gruß Alfonso
Anzeige
AW: verbundene Zellen auflösen
28.07.2012 12:17:09
hary
Hallo Alfonso

Wo bzw. wie hast Du Dir das Wissen angeeignet?

Wo: Hier im Forum. Mitlesen/Archiv
Wie: Ich suche mir eine Aufgabe raus(ohne auf evtl.e Loesungen zu luxen). Wenn's nicht klappt kann man immer noch schauen oder halt nachfragen. Am Anfang keine Hammeraufgaben.
Warum: Nur als Hobby, also Spass an der Sache. Wobei der Com. schon oft auf dem Fensterbrett stand, um einen Sprung zu wagen. ;-)))
gruss hary
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

Verbundene Zellen Auflösen in Excel


Schritt-für-Schritt-Anleitung

Um verbundene Zellen in Excel aufzulösen und den Inhalt in die nachfolgenden Zellen zu kopieren, kannst Du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem die verbundenen Zellen vorhanden sind.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Erstelle ein neues Modul: Klicke auf Einfügen > Modul.

  4. Füge den folgenden Code ein:

    Sub fuellen()
       Dim i As Long
       Dim anzahl As Long
       Application.ScreenUpdating = False
       For i = 3 To Cells(Rows.Count, 2).End(xlUp).Row
           Range("B" & i).Select
           With Selection
               anzahl = .Count - 1
               .MergeCells = False
               Range("B" & i & ":B" & i + anzahl).Value = ActiveCell.Value
           End With
       Next
       Application.ScreenUpdating = True
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus: Gehe zu Entwicklertools > Makros, wähle fuellen und klicke auf Ausführen.

Das Skript trennt die verbundenen Zellen und kopiert den Inhalt in die nachfolgenden leeren Zellen.


Häufige Fehler und Lösungen

  • Fehler: "Das Makro kann nicht ausgeführt werden."

    • Lösung: Stelle sicher, dass Makros in Deinen Excel-Einstellungen aktiviert sind.
  • Fehler: "Die Zellen sind nicht verbunden."

    • Lösung: Überprüfe, ob die ausgewählten Zellen wirklich verbunden sind, bevor Du das Makro ausführst.
  • Fehler: Nur die erste Zelle wird befüllt.

    • Lösung: Achte darauf, dass der Schleifenstart und das Ziel korrekt eingestellt sind (z.B. For i = 3).

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, gibt es auch manuelle Methoden:

  1. Manuelles Trennen der Zellen:

    • Wähle die verbundenen Zellen aus, gehe zu Start > Ausrichten und klicke auf Zellen verbinden und zentrieren, um die Verbindung aufzuheben.
  2. Inhalte kopieren:

    • Nach dem Trennen kannst Du die ersten Zellen kopieren und in die nachfolgenden Zellen einfügen.

Praktische Beispiele

  • Beispiel 1: Angenommen, Du hast in Spalte B verbundene Zellen von B3 bis B5, die den Text "Projekt A" enthalten. Mit dem obigen VBA-Code wird "Projekt A" in B3, B4 und B5 eingefügt, nachdem die Zellen getrennt wurden.

  • Beispiel 2: Wenn die Daten ab der 11. Zeile beginnen, passe den Code wie folgt an:

    For i = 11 To Cells(Rows.Count, 2).End(xlUp).Row

Tipps für Profis

  • Sichere Deine Daten: Vor dem Ausführen von VBA-Code ist es ratsam, eine Sicherungskopie Deiner Datei zu erstellen.
  • Verwende Kommentare: Kommentiere Deinen Code, um zu verstehen, was jeder Abschnitt macht, besonders wenn Du mit komplexeren Skripten arbeitest.
  • Optimiere den Code: Überlege, wie Du den Code so gestalten kannst, dass er auch mit anderen Spalten oder Bereichen funktioniert, indem Du Parameter verwendest.

FAQ: Häufige Fragen

1. Wie finde ich verbundene Zellen in Excel?
Du kannst die Funktion Suchen verwenden, um verbundene Zellen zu finden. Wähle Start > Suchen und Auswählen > Suchen, und gebe "verbunden" ein.

2. Kann ich mehrere verbundene Zellen gleichzeitig trennen?
Ja, mit dem VBA-Skript kannst Du alle verbundenen Zellen in einem bestimmten Bereich gleichzeitig trennen und den Inhalt kopieren.

3. Was passiert mit den Formaten der Zellen nach dem Trennen?
Die Formate der Zellen bleiben erhalten, jedoch wird nur der Inhalt der ersten Zelle in die anderen Zellen eingefügt.

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