Microsoft Excel

Herbers Excel/VBA-Archiv

Zellen verbinden per VBA

Betrifft: Zellen verbinden per VBA von: Robert
Geschrieben am: 21.01.2021 20:03:35

Hallo liebe Exelgemeinde.

Ich habe wieder mal ein Problem, bei welchen ich um Eure Hilfe bitte. Ich möchte auf Mehreren Seiten per Makro Zellen verbinden um Seiten einzurichten. Habe jetzt eines geschrieben wie im Beispiel, aber da verbindet es nur die immer die Ersten Zellen (A1:F1) der Rest bleibt aussen vor.
Wie muss bzw. kann ich das schreiben das ich noch 5 Zellbereiche einordnen kann zum verbinden.

Sub Zellenverbinden()
Dim ersteZelle As Range, letzteZelle As Range

With Worksheets("Tabelle3, Tabelle4")
Set ersteZelle = .Range("A1")
Set letzteZelle = .Range("F1")
Set ersteZelle = .Range("J1")
Set letzteZelle = .Range("T1")

    With .Range(ersteZelle, letzteZelle)
        .Merge
        .HorizontalAlignment = xlCenter
    End With
End With

End Sub

Für Eure Mühen danke ich voraus.

LG Robert

Betrifft: Was ist der 'Rest', ...
von: Luc:-?
Geschrieben am: 21.01.2021 20:35:45

…Robert,
etwa J1:T1 oder Folgezeilen? Eigentlich sollte deine SubProz nicht A1:F1 verbinden, sondern J1:T1, denn du überschreibst die VariablenInhalte ja entsprd. Folglich könntest du die Variablen als Array anlegen:
Dim i As Integer, ersteZelle(1) As Range, letzteZelle(1) As Range
With Worksheets("Tabelle3, Tabelle4")
    Set ersteZelle(0) = .Range("A1")
    Set letzteZelle(0) = .Range("F1")
    Set ersteZelle(1) = .Range("J1")
    Set letzteZelle(1) = .Range("T1")
End With
For i = 0 To 1
    With .Range(ersteZelle(i), letzteZelle(i))
        .Merge: .HorizontalAlignment = xlCenter
    End With
Next i
Wobei nicht garantiert ist, dass das auch fktioniert, weil das für 2 Worksheets gemacht wdn soll und blattübergreifend nicht verbunden wdn kann. Ob VBA das dann für jedes Blatt einzeln macht, musst du testen. Wenn nicht, müssen die Blätter einzeln angesprochen wdn.
Gruß, Luc :-?

Betrifft: AW: Zellen verbinden per VBA
von: onur
Geschrieben am: 21.01.2021 20:40:01

Wenn du schreibst:
Set ersteZelle = .Range("A1")
Set letzteZelle = .Range("F1")
Set ersteZelle = .Range("J1")
Set letzteZelle = .Range("T1")

Kannst du auch die erten beiden Zeilen weglassen, weil die nächsten beiden Zeilen diese wieder aufheben.
Dein Makro verbindet also J1 bis F1.
Und wie kommst du darauf, dass der Code auch noch die nächsten Zeilen verbinden würde? WO IM Code hast du das denn geschrieben ???

Betrifft: AW: Zellen verbinden per VBA
von: Robert
Geschrieben am: 21.01.2021 21:20:36

Hallo Onur

Genau das ist ja meine Frage, wie soll oder kann ich das schreiben.


LG Robert

Betrifft: AW: Zellen verbinden per VBA
von: onur
Geschrieben am: 21.01.2021 21:49:40

Du willst A bis F verbinden, aber WELCHE ZEILEN denn ? Heisst: A1-F1, A2-F2 usw, aber wie weit nach unten ist das "usw" ???

Betrifft: Zellen verbinden per VBA - deine Frage ...
von: Luc:-?
Geschrieben am: 22.01.2021 00:41:25

…hatte ich beantwortet und dir dieselbe gestellt wie Onur!
Klick gefälligst auf Forumsliste, dann siehst du meine AW auch! :-[
Luc :-?

Betrifft: AW: Zellen verbinden per VBA - deine Frage ...
von: Robert
Geschrieben am: 22.01.2021 11:21:24

Hallo Ihr Beiden!

Das ganze soll nur in Zeile 1 stattfinden an verschiedenen Orten z.B. a1 bis F1, X1:aK1 usw. Hatte bis jetzt Internetausfall bzw. habe und musste erst eine alternative schaffen, des Zugang.


LG Robert

Betrifft: AW: Zellen verbinden per VBA - deine Frage ...
von: onur
Geschrieben am: 22.01.2021 11:24:08

DU kapierst wohl gar nix - oder?
Das "usw" und "z.B." kannst su dir sparen!

Betrifft: AW: Zellen verbinden per VBA - deine Frage ...
von: Robert
Geschrieben am: 22.01.2021 14:30:58

Sorry




LG Robert