Microsoft Excel

Excel und VBA: Beitrag aus Herbers Excel-Forumsarchiv

Zelleninhalt verbinden über VBA

Betrifft: Zelleninhalt verbinden über VBA
von: Günter
Geschrieben am: 24.02.2005 05:36:25

Guten Morgen,

folgendes nagt an mir:

In einer Exceldatei möchte ich, dass in Spalte A und B
nur diese Zellen verbunden werden, wenn in Spalte A der Begriff
"Buchabschnitts-Nr.:" steht.

Der Rest in Spalte A und B soll nicht verändert werden.

Gruss
Günter
  


Betrifft: AW: Zelleninhalt verbinden über VBA
von: Harald E
Geschrieben am: 24.02.2005 08:09:00

Hallo Günther,

auf die Schnelle.

Sub verbinden()
For i = 1 To 2000 'bis Zeile 2000
If Cells(i, 1).Value Like "Buchabschnitts-Nr*" Then
Range(Cells(i, 1), Cells(i, 2)).MergeCells = True
End If
Next i
End Sub


Gruß
Harald


  


Betrifft: AW: Zelleninhalt verbinden über VBA
von: Jan
Geschrieben am: 24.02.2005 08:14:35

Hi Günter,

Vielleicht so:

Sub zusammen()
If Range("a2") = "Buchabschnitts-Nr" Then
    Range("A2:B2").Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .ShrinkToFit = False
        .MergeCells = False
    End With
    Selection.Merge
End If
    Range("A2").Select
End Sub


Jan


  


Betrifft: AW: Zelleninhalt verbinden über VBA
von: Günter
Geschrieben am: 24.02.2005 08:18:12

Vielen Dank Jan und Harald!

Muss mal Testen.

Danke
Günter


  


Betrifft: AW: Zelleninhalt verbinden über VBA
von: UweD
Geschrieben am: 24.02.2005 08:19:58

Hallo Günter



so klappt es

Sub Verbinden()
    Dim LR%, I%
    LR = Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte A
    For I = 1 To LR
        If Cells(I, 1).Value = "Buchabschnitts-Nr.:" Then
            Range(Cells(I, 1), Cells(I, 2)).MergeCells = True
        Else
            Range(Cells(I, 1), Cells(I, 2)).MergeCells = False
        End If
    Next I
End Sub


Gruß UweD


  


Betrifft: AW: Zelleninhalt verbinden über VBA
von: Günter
Geschrieben am: 24.02.2005 08:32:11

Hallo Uwe!

Ich bekomme bei Ablauf die Laufzeitfehler 6 (Überlauf).

Was könnte das heißen ?

Gruss
Günter


  


Betrifft: AW: Zelleninhalt verbinden über VBA
von: Günter
Geschrieben am: 24.02.2005 08:44:53

Hallo !

Habe alle Variation ausprobiert - aber ohne Erfolg.

Bei allen kommt die Meldung:
Die Auswahl enthält mehrere Werte. Wenn die Zellen verbunden werden, wird nur
der Wert aus der obersten linken Zelle erhalten.

Gruss
Günter


  


Betrifft: AW: Zelleninhalt verbinden über VBA
von: Harald E
Geschrieben am: 24.02.2005 08:57:36

Hallo Günther,

kann ich nicht nachvollziehen. Bei mir läuft der Code (im Blattmodul), selbst wenn bereits verbundene Zellen vorhanden sind. Wobei es auch egal ist, ob Punkte/Doppelpunkte verwendet werden.

Ggf. mal ne abgespeckte Version der Datei hochladen.

Gruß
Harald


  


Betrifft: AW: Zelleninhalt verbinden über VBA
von: Günter
Geschrieben am: 24.02.2005 09:02:15

Hallo Harald!


Hier die abgespeckte Datei:

http://www.herber.de/bbs/user/18649.xls


Schönen Gruß
Günter


  


Betrifft: Ahhh, jetzt ja
von: Harald E
Geschrieben am: 24.02.2005 09:32:56

...eine Insel ;-))

Das kann nur funktionieren, wenn die Zelle neben Buchabschnitts-Nr.: leer ist.

Wie das zu lösen wäre, übersteigt allerdings meine Fähigkeiten.
Beide Zellen färben oder umranden wäre eine einfachere Option.

Gruß
harald


  


Betrifft: AW: Ahhh, jetzt ja
von: Günter
Geschrieben am: 24.02.2005 09:39:25

Hallo Harald !

Meinst Du die Zelle links oder rechts neben dem Buchabschnitts-Nr. ?

Gruss
Günter


  


Betrifft: AW: Zelleninhalt verbinden über VBA
von: UweD
Geschrieben am: 24.02.2005 09:49:04

Hallo

Das Zellen verbinden (über Format) geht nur, wenn die ausschließlich die erste Zelle belegt ist. Andernfalls werden die Zellinhalte der restlichen Zellen gelöscht.


Vielleicht meinst du ja, das der Inhalt von B mit in A reinsoll.

Das ginge so:

Sub Verbinden()
    Dim LR%, I%
    LR = Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte A
    For I = 1 To LR
        If Cells(I, 1).Value = "Buchabschnitts-Nr.:" Then
            Cells(I, 1).Value = Cells(I, 1).Value & " " & Cells(I, 2).Value
            Cells(I, 2).ClearContents
        End If
    Next I
End Sub


Gruß UweD


  


Betrifft: AW: Zelleninhalt verbinden über VBA
von: Günter
Geschrieben am: 24.02.2005 10:02:11

Hallo Uwe,

super, genau so hat es funktioniert.

Respekt.


Vielen Dank
Günter