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
05.10.2016 13:57:21
Hasi
Hallo Miteinander
Ich muss jeden Monat ein Reporting erstellen, wo die "Rohdaten" im Excel verbunden sind. In den Spalten A und B befinden sich mehrere, untereinander zusammengefügte Zeilen mit Namen. (z.B. Daten 1 verbunden A1-A15; Daten 2 verbunden A16;A19; usw.)
Ich habe im Archiv eine Lösung gefunden, um einen Zellverbund mit dem Namen so aufzuheben, dass danach in jeder einzelnen Zelle der gleiche Name steht, wie zuvor im Zellverbund.
https://www.herber.de/forum/archiv/944to948/945851_Zellverbund_aufheben_Wert_in_alle_Zellen_einfuegen.html#946019
Die Antwort von Erich aus Kamp-Lintfort hat super funktioniert für Spalte A. Wenn ich jetzt die gleiche Logik für Spalte B anwenden möchte, funktioniert es leider nicht (auch wenn ich A durch B in der Formel ersetze):
--------------------------------
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

-----------------------------------------------
Habt ihr vielleicht eine Lösung?
Herzlichen Dank im Voraus!
Hasi
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zellverbund aufheben, Wert in alle Zellen einfügen
05.10.2016 14:09:22
UweD
Hallo
Hier wird im Code Cells(Zeile,Spalte) verwendet
Das steht auf 1 ===&gt also 1 = A
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

Anzeige
AW: Zellverbund aufheben, Wert in alle Zell
05.10.2016 14:27:33
Hasi
Hallo Uwe
Danke dir für die rasche Antwort. Leider funktioniert es immer noch nicht, auch wenn ich 2 = B einsetzte. Siehst du vielleicht einen anderen Fehler?
Ich habe alle Befehle in ein Modul geschrieben. Es funktioniert leider auch nicht, wenn ich es in 2 Module kopiere :)
Danke vielmals fürs überprüfen!
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 Verbundene_trennenB()   ' (Vertikal verbundene Zellen in Spalte B)
Dim rngM As Range, rngC As Range, zz As Long
For zz = Cells(Rows.Count, 2).End(xlUp).Row To 2 Step -1
If Cells(zz, 2).MergeCells Then
Set rngM = Cells(zz, 2).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

Anzeige
AW: Zellverbund aufheben, Wert in alle Zell
05.10.2016 15:00:12
UweD
Sorry, kann keinen Fehler finden.
Hast du den Aufrufnamen auch geändert?
Alternativ kannst du das auch mit variabler Spalte machen.
Der Aufruf erfolgt dann mit Parameter der Spalte Verbundene_trennen (2)
Sub Verbundene_trennen(Sp As Integer)
   Dim rngM As Range, rngC As Range, zz As Long
   
   For zz = Cells(Rows.Count, Sp).End(xlUp).Row To 2 Step -1
      If Cells(zz, Sp).MergeCells Then
         Set rngM = Cells(zz, Sp).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' nicht notwendig 
      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_trennen (2)
        End Select
     Next wks
  End Sub

LG UweD
Anzeige
AW: Zellverbund aufheben, Wert in alle Zell
05.10.2016 16:54:16
Hasi
Hallo Uwe
Ich habe das Problem entdeckt!
Nebst dem 2=B muss man auch noch den Zellenbezug anpassen (Row To 3 Step -2).
Jetzt geht es :)
Danke dir für deine Unterstützung!
Liebe Grüsse
Sub Verbundene_trennenB()   ' (Vertikal verbundene Zellen in Spalte B)
Dim rngM As Range, rngC As Range, zz As Long
For zz = Cells(Rows.Count, 2).End(xlUp).Row To 3 Step -2
If Cells(zz, 2).MergeCells Then
Set rngM = Cells(zz, 2).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

Anzeige
Prima das jetzt alles klappt owT
06.10.2016 08:30:55
UweD
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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