Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellverbund aufheben, Wert in alle Zellen einfügen

Zellverbund aufheben, Wert in alle Zellen einfügen
28.01.2008 11:16:00
Wolfgang
Hallo Excel-Gemeinde,
ein Zellverbund mit dem Wert "Test" soll so aufgehoben werden, dass danach in jeder einzelnen Zelle der gleiche Wert steht, wie zuvor im Zellverbund. Normal steht nach dem Aufheben des Zellverbundes der Wert nur in der ersten Zelle, alle anderen sind leer.
Gibt es für dieses Problem eine einfache Lösung?
Für jeden Hinweis bin ich dankbar!
Gruß,
Wolfgang

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellverbund aufheben, Wert in alle Zellen einf
28.01.2008 12:38:53
Erich
Hallo Wolfgang,
damit sollte es gehen (wenn ein Zellverbund markiert ist):

Option Explicit
Sub Verbundene_trennen()
Dim rngM As Range, rngC As Range
If Selection.MergeCells Then
Set rngM = Selection
rngM.MergeCells = False
For Each rngC In rngM
If rngC.Address  rngM.Cells(1).Address Then rngC = rngM.Cells(1)
Next rngC
End If
End Sub

Falls in der 1. Zelle eine Formel steht (z. B. ="Test"), bleibt sie erhalten,
die anderen Zellen des Verbunds erhalten den Wert "Test", ohne Formel.
Wenn auch in der ersten Zelle die Formel durch den Wert ersetzt werden soll,
brauchst du nur die Zeile


If rngC.Address  rngM.Cells(1).Address Then rngC = rngM.Cells(1)
' zu kürzen in
rngC = rngM.Cells(1)

Wenn die Formel in die anderen Zellen übertragen werden soll, ginge das auch.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Zellverbund aufheben, Wert in alle Zellen einf
28.01.2008 13:47:00
Wolfgang
Hallo Erich,
vielen Dank für Deine schnelle Hilfe! Das Makro funktioniert einwandfrei.
Gibt es auch eine Funktion in Excel, die das Gleiche leistet? Ich habe eine Formel, in die ich eine solche Funktion gerne einbauen möchte. Ansonsten muß ich in allen Blättern erst sämtliche verbundene Zellen mit Deinem Makro bearbeiten.
Eine Tabelle möchte ich anhand von zwei Kriterien (Spalte A und C) durchsuchen:
Userbild
Die Formel lautet:
=SUMMENPRODUKT((Januar!$A$5:$A$250=B$1)*(Januar!$C$5:$C$250=$A3)*Januar!$B$5:$B$250)
Das erste Suchkriterium steht immer in einem Zellverbund. Daher findet die Formel ein Ergebnis immer nur in der obersten Zeile rechts neben dem Zellverbund, also beispielsweise "40".
Grüsse vom (zur Zeit) sonnigen Bodensee

Anzeige
AW: Zellverbund aufheben, Wert in alle Zellen einf
28.01.2008 17:13:00
Erich
Hallo Wolfgang,
mein Rat: Löse alle verbundenen Zellen auf, sie machen (wie bei deinen Formeln) viel Ärger.
Hier ein Makro, das im aktiven Blatt alle Zellverbünde in Spalte A auflöst, und ein weiteres Makro,
mit dem du alle (bis auf Ausnahmen) Blätter schnell ändern kannst.

Option Explicit
Sub Verbundene_trennenA()   ' (Vertikal verbundene Zellen in Spalte A)
Dim rngM As Range, rngC As Range, zz As Long
For zz = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If Cells(zz, 1).MergeCells Then
Set rngM = Cells(zz, 1).MergeArea
rngM.MergeCells = False
For Each rngC In rngM
If rngC.Address  rngM.Cells(1).Address Then rngC = rngM.Cells(1)
Next rngC
zz = rngM.Row
End If
Next zz
End Sub
Sub InAllenBlaettern()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
Select Case wks.Name
Case "xyz", "Summe" ' Blätter, die NICHT bearbeitet werden sollen
Case Else
wks.Select
Verbundene_trennenA
End Select
Next wks
End Sub

Noch ein evtl. nützlicher Tipp:
Ist es sinnvoll/nötig, die gleichartigen Daten monatsweise auf etliche Blätter zu verteilen?
Mit einer Spalte "Monat" hättest du die Infos alle in einem Blatt
und könntest sie z. B. mit Pivottabelle leicht auswerten.
Hier ein Beispiel: https://www.herber.de/bbs/user/49469.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zellverbund aufheben und Wert in alle Zellen einfügen


Schritt-für-Schritt-Anleitung

Um den Zellverbund aufzuheben und den Wert in alle Zellen einzufügen, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Markiere die verbundenen Zellen. Klicke auf die Zelle, die den Zellverbund enthält.

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

  3. Füge ein neues Modul ein. Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsm)" und wähle "Einfügen" > "Modul".

  4. Füge den folgenden Code ein:

    Option Explicit
    Sub Verbundene_trennen()
        Dim rngM As Range, rngC As Range
        If Selection.MergeCells Then
            Set rngM = Selection
            rngM.MergeCells = False
            For Each rngC In rngM
                rngC = rngM.Cells(1)
            Next rngC
        End If
    End Sub
  5. Führe das Makro aus. Schließe den VBA-Editor und kehre zu Excel zurück. Drücke ALT + F8, wähle "Verbundene_trennen" und klicke auf "Ausführen".

Dieser Vorgang wird alle verbundenen Zellen trennen und den Wert in jede Zelle kopieren.


Häufige Fehler und Lösungen

  1. Fehler: Der Wert wird nur in der ersten Zelle angezeigt.

    • Lösung: Stelle sicher, dass das Makro korrekt ausgeführt wurde. Überprüfe, ob die Zellen tatsächlich verbunden sind.
  2. Fehler: Die Formel in der ersten Zelle geht verloren.

    • Lösung: Ändere den Makro-Code, um die Formel zu erhalten, indem du die Zeile anpasst:
    If rngC.Address <> rngM.Cells(1).Address Then rngC = rngM.Cells(1)

Alternative Methoden

Falls du kein Makro verwenden möchtest, kannst du den Zellverbund manuell aufheben und die Werte kopieren:

  1. Zellen verbinden aufheben:

    • Markiere die verbundenen Zellen.
    • Gehe zu „Start“ > „Ausrichtung“ und klicke auf „Zellen verbinden aufheben“.
  2. Wert manuell kopieren:

    • Kopiere den Wert aus der ersten Zelle.
    • Füge ihn in die anderen Zellen ein, indem du sie markierst und STRG + V drückst.

Praktische Beispiele

Beispiel 1: Du hast verbundenen Zellen mit dem Wert "Test". Nach der Ausführung des Makros wird in jeder Zelle "Test" angezeigt.

Beispiel 2: Wenn in der verbundenen Zelle eine Formel steht, bleibt diese bei der Anpassung des Codes erhalten. Der Wert wird in die anderen Zellen übertragen.


Tipps für Profis

  • Nutze die Funktion SUMMENPRODUKT in Kombination mit dem Aufheben von Zellverbünden, um komplexe Berechnungen zu ermöglichen.
  • Überlege, ob es sinnvoll ist, verbundene Zellen in Excel zu verwenden, da sie oft Probleme mit der Formelberechnung verursachen können.
  • Erstelle ein Makro, das automatisch alle verbundenen Zellen in einem Arbeitsblatt aufhebt, um Zeit zu sparen.

FAQ: Häufige Fragen

1. Frage
Wie kann ich alle verbundenen Zellen in einer gesamten Arbeitsmappe trennen?
Antwort: Verwende das folgende Makro, um alle verbundenen Zellen in allen Blättern zu trennen:

Sub InAllenBlaettern()
    Dim wks As Worksheet
    For Each wks In ActiveWorkbook.Worksheets
        wks.Select
        Verbundene_trennen
    Next wks
End Sub

2. Frage
Kann ich die Verbindung von Zellen rückgängig machen?
Antwort: Ja, du kannst die Aktion rückgängig machen, indem du STRG + Z drückst, solange du die Datei nicht gespeichert hast.

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