EXCEL VBA Zellen verbinden. MERGE
Hallo Mitglieder,
ich verzweifel gerade an einem Problem, was mich schon 'Stunden' kostet.
Ich habe in einem Tabellenblatt Daten stehen, die sich auf eine Kalenderwoche beziehen. Es kann natürlich mehrere Zeilen pro KW geben.
Ich möchte nun das Tabellenblatt durchlaufen und alle die Zellen Lx-Ly, sowie Mx-My verbinden, sofern von x-y der Eintrag in Ax identisch ist.
Ich habe das auf dem angefügten Bild versucht zu visualisieren.
Kann mir da vielleicht ein jemand eine Hilfestellung geben?
Dass ich mit Range.Cells.Merge in gewisser Weise arbeiten muss ist mir klar, da ich mit fixen Werten zum gewünschten Ergebnis komme. Ich bekomme aber die Zusammenhänge nicht auf die Kette, damit das ganze auch flexibel ist wenn sich z.B. Einträge in der Spalte KW ändern.
Danke fein, ihr lieben!
ich verzweifel gerade an einem Problem, was mich schon 'Stunden' kostet.
Ich habe in einem Tabellenblatt Daten stehen, die sich auf eine Kalenderwoche beziehen. Es kann natürlich mehrere Zeilen pro KW geben.
Ich möchte nun das Tabellenblatt durchlaufen und alle die Zellen Lx-Ly, sowie Mx-My verbinden, sofern von x-y der Eintrag in Ax identisch ist.
Ich habe das auf dem angefügten Bild versucht zu visualisieren.
Kann mir da vielleicht ein jemand eine Hilfestellung geben?
Dass ich mit Range.Cells.Merge in gewisser Weise arbeiten muss ist mir klar, da ich mit fixen Werten zum gewünschten Ergebnis komme. Ich bekomme aber die Zusammenhänge nicht auf die Kette, damit das ganze auch flexibel ist wenn sich z.B. Einträge in der Spalte KW ändern.
Danke fein, ihr lieben!
Please also mark the comments that contributed to the solution of the article
Content-Key: 338561
Url: https://administrator.de/contentid/338561
Printed on: April 24, 2024 at 10:04 o'clock
6 Comments
Latest comment
Servus @Aximand .
Bitteschön: auto_merge_on_change_338561.xlsm
Die Merge-Bereiche ändern sich im Demo-Sheet automatisch wenn sich in Spalte A etwas ändert (Event: Worksheet_Change!).
Grüße Uwe
Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
Bitteschön: auto_merge_on_change_338561.xlsm
Die Merge-Bereiche ändern sich im Demo-Sheet automatisch wenn sich in Spalte A etwas ändert (Event: Worksheet_Change!).
Danke fein, ihr lieben!
Bitte fein mein Lieber Grüße Uwe
Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
Danke auch . *Koppschüttel* ....
Hoffentlich ist das jetzt "genehm", ansonsten weiß ich dir leider nicht mehr zu helfen, außer dir einen VBA Kurs zu empfehlen.
Also sie scheint genial zu sein, aber ich durchblicke das ned.
Ganz einfach, das Makro regiert automatisch darauf wenn sich in Spalte A etwas ändert und baut dann die Merge-Bereiche neu auf. Habe es ja extra deswegen alles ausführlich kommentiert.Hinzu kommt, dass die Daten über ein Userform in die Liste eingetragen werden. Das muss ich mir erstmal auf der Zunge und im Schädel zergehen lassen. Wie toll doch VBA ist :P
Du kannst das von mir aus auch manuell ausführen die Sub sieht dann so aus:Sub AutoMerge()
On Error Goto Errhandler
Dim rngGroupStart As Range, cell As Range
Application.ScreenUpdating = False
With ActiveSheet
'start festlegen
Set rngGroupStart = .Range("A5")
'Verbindungen der Spalten M:L lösen
.Range("M:L").UnMerge
'Für jede Zelle von A5:A(ENDE)
For Each cell In .Range("A5:A" & .Cells(Rows.Count, "A").End(xlUp).Row)
' Wenn die Zelle drunter einen anderen Wert hat als vom Gruppenstart
If cell.Offset(1, 0).Value <> rngGroupStart.Value Then
'Wenn mindestens zwei Zellen betroffen sind, starte Merge
If (cell.Row - rngGroupStart.Row) > 0 Then
'Merge in Spalten M und L vornehmen
.Range(.Cells(rngGroupStart.Row, "L"), .Cells(cell.Row, "L")).Merge
.Range(.Cells(rngGroupStart.Row, "M"), .Cells(cell.Row, "M")).Merge
End If
'nächsten Gruppenstart festlegen
Set rngGroupStart = cell.Offset(1, 0)
End If
Next
End With
Errhandler:
Application.ScreenUpdating = True
End Sub
Oh Herre, mit der Lösung kann ich nix anfangen.
WOW, mein lieber Herr Gesangsverein, da bekommt man es schon auf dem Silbertablet und auch noch kommentiert und bekommt sowas an den Kopf geworfen. ECHT DER HAMMER , da weiß man echt nicht mehr was man sagen soll!Fettes -1.
Gruß
Ich kann bezüglich meines vorhandenen Wissens nichts damit anfangen, weil ich es (noch) nicht verstehe.
Nun, wenn keiner weiß was du daran nicht verstehst kann dir auch niemand helfen.