VBA: Zellen verbinden funktioniert nicht. Warum?

Bild

Betrifft: VBA: Zellen verbinden funktioniert nicht. Warum?
von: David
Geschrieben am: 20.05.2015 09:02:06

Hallo zusammen,
eigentlich war ich der Meinung, mittlerweile schon ein ganz ordentliches VBA-Repertoire erworben zu haben. Momentan zweifle ich aber daran.
Wenn ich mehrere Zellen untereinander markiere, sollen diese verbunden werden und eine bestimmte Formatierung bekommen. Das geht soweit wie gewünscht:

Sub Zellen_verbinden_HorizontalRechts_VertikalMitte()
        With Selection
            .HorizontalAlignment = xlRight
            .VerticalAlignment = xlCenter
            '.MergeCells = True
        End With
End Sub
Nun wollte ich den Code erweitern, dass die Zellen direkt rechts daneben ebenfalls miteinander verbunden werden. Theoretisch einfach so:
Sub Zellen_verbinden_HorizontalRechts_VertikalMitte()
        With Selection.Offset(0, 1)
            .HorizontalAlignment = xlRight
            .VerticalAlignment = xlCenter
            '.MergeCells = True
        End With
End Sub
Tut er aber nicht. Keine Fehlermeldung. Ich habs auch schon versucht mit:
If Selection.Columns.Count > 1 Then
    Selection.Resize(, 1).MergeCells = True
    Selection.Resize(, 1).Offset(, 1).MergeCells = True
End If
wobei ich dann natürlich beide Spalten markiert habe, aber funzt auch nicht.
Was mache ich falsch? Kann doch nur eine Kleinigkeit sein, oder?
Danke und Gruß
David

Bild

Betrifft: AW: VBA: Zellen verbinden funktioniert nicht. Warum?
von: hary
Geschrieben am: 20.05.2015 09:21:21
Moin David
Du hast im Code mit dem Hochkomma diese Zeile auskommentiert.

'.MergeCells = True

nimm mal das Hochkomma weg.
.MergeCells = True

gruss hary

Bild

Betrifft: AW: VBA: Zellen verbinden funktioniert nicht. Warum?
von: David
Geschrieben am: 20.05.2015 09:23:22
Hi.
das hatte ich nur testhalber auskommentiert, um die zweite Variante zu probieren. Hab ich beim Kopieren in den Beitrag hier vergessen rauszunehmen, d.h. im "echten" Code standen die nicht drin.
Gruß
David

Bild

Betrifft: AW: VBA: Zellen verbinden funktioniert nicht. Warum?
von: hary
Geschrieben am: 20.05.2015 09:30:35
Moin
Bei mir klappt es.
Geh mal im Einzelschritt(F8) den Code durch.

Sub Zellen_verbinden_HorizontalRechts_VertikalMitte()
        With Selection.Offset(0, 1)
           .Select '----zum testen ob angesprochen
            .HorizontalAlignment = xlRight
            .VerticalAlignment = xlCenter
            .MergeCells = True
        End With
End Sub

gruss hary

Bild

Betrifft: AW: VBA: Zellen verbinden funktioniert nicht. Warum?
von: Luschi
Geschrieben am: 20.05.2015 09:39:40
Hallo Harry,
bei mir (Win 8.1 Excel 2010/13 32bit) klappt das auch nicht so.
Es wird mit 'With Selection.Offset(0, 1)' nur die Zelle 'C6' angesprochen und selektiert,
obwohl die Zellen 'B6:B11' verbunden und ausgewählt sind.
Wie es bei mir klappt, siehe meinen anderen Beitrag.
Gruß von Luschi
aus klein-Paris

Bild

Betrifft: AW: Sry,Luschi...
von: hary
Geschrieben am: 20.05.2015 09:57:03
Moin Luschi
...hast natuerlich Recht,hab es falsch gelesen.
Erst eine Spalte verbinden und dann rechts daneben.
gruss hary

Bild

Betrifft: AW: VBA: Zellen verbinden funktioniert nicht. Warum?
von: Luschi
Geschrieben am: 20.05.2015 09:30:52
Hallo David,
bei mir klappt das nach ein bischen rumprobieren so:
With Selection.Offset(0, 1).Resize(Selection.Cells.Count, 1)
Gruß von Luschi
aus klein-Paris

Bild

Betrifft: AW: VBA: Zellen verbinden funktioniert nicht. Warum?
von: David
Geschrieben am: 20.05.2015 09:43:10
Hi Luschi,
deine Variante funktioniert bei mir.
Verstehe zwar immer noch nicht, was genau der Fehler bei mir war, aber zumindest geht's jetzt erstmal.
Danke und Gruß
David

Bild

Betrifft: AW: VBA: Zellen verbinden funktioniert nicht. Warum?
von: Luschi
Geschrieben am: 20.05.2015 12:21:20
Hallo David,
wenn die Zellen 'C6:C11' verbunden sind und dieser Bereich markiert ist, dann ergibt 'Selection.Cells.Count' den Wert '6';
d.h. das Objekt 'Selection' weiß, wieviele Zellen zum Verbund gehören.
Verschiebt man die 'Selection' aber um 1 Spalte nach rechts/links, dann wird so getan, als ob nur Zelle 'C6' markiert ist.
Das sind eben die Eigenheiten der Methoden von 'Selection' - da muß man durch!
Deshalb herrscht in vielen Beiträgen in den unterschiedlichsten Excel-Foren die Meinung, daß 'verbundene Zellen' nur Probleme bereiten. Sie haben zwar Recht, aber Probleme sind dazu da, daß man sie meistert!
Gruß von Luschi
aus klein-Paris

Bild

Betrifft: Sehr richtig, Luschi...! ;-) Gruß owT
von: Luc:-?
Geschrieben am: 20.05.2015 13:09:43
:-?

 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA: Zellen verbinden funktioniert nicht. Warum?"