Microsoft Excel

Herbers Excel/VBA-Archiv

verbundene Zellen auflösen | Herbers Excel-Forum


Betrifft: verbundene Zellen auflösen von: Alfonso
Geschrieben am: 27.07.2012 16:32:55

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

  

Betrifft: AW: verbundene Zellen auflösen von: hary
Geschrieben am: 27.07.2012 17:54:38

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


  

Betrifft: AW: sry korrektur von: hary
Geschrieben am: 27.07.2012 17:57:00

Hallo
letzte Codezeile

Application.ScreenUpdating = False

aendern in
Application.ScreenUpdating =True

gruss hary


  

Betrifft: AW: verbundene Zellen auflösen von: Alfonso
Geschrieben am: 27.07.2012 18:40:55

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


  

Betrifft: AW: verbundene Zellen auflösen von: hary
Geschrieben am: 27.07.2012 18:54:24

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


  

Betrifft: AW: verbundene Zellen auflösen von: Alfonso
Geschrieben am: 27.07.2012 19:35:28

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


  

Betrifft: AW: verbundene Zellen auflösen von: hary
Geschrieben am: 28.07.2012 12:17:09

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


Beiträge aus den Excel-Beispielen zum Thema "verbundene Zellen auflösen"