2017-05-25 4 views
0

Ich habe vier zusammengelegte Zellen: zwei Spalten und zwei Zeilen. Ich muss nur die Spalten mit separaten Zeilen zusammenführen (am Ende erhalten Sie 2 Zellen).Zellen nur für Zeilen zusammenfassen

Wie würde ich es in VBA tun? Ich kenne .MergeCells = False Option, aber es sieht so aus, als ob alle Zellen getrennt werden.

+1

Ich glaube nicht, dass es eine Abkürzung dafür haben. Sie müssen die Verknüpfung aufheben und erneut nach Zeilen zusammenführen. – Prisoner

+0

@Prisoner, Wie würde ich nach Zeilen zusammenführen? – Ans

+0

@Ans wählt die Zellen in einer Zeile aus, die Sie zusammenführen möchten. Neben "Zusammenführen und zentrieren" befindet sich ein kleiner Pfeil nach unten. Klicken Sie darauf und klicken Sie auf "Zusammenführen". – KoderM16

Antwort

0

Das folgende VBA-Makro verschmilzt einen bestimmten Bereich in einzelne fusionierte Reihen. So eine fusionierte 2x2 Bereich wie folgt aus:

┌ ─ ┐ 
    A1 B1 
│   │ 
    A2 B2 
└ ─ ┘ 

wird in einzelne Zeilen zusammengefügt geworden:

┌ ─ ┐ 
    A1 B1 
├ ─ ┤ 
    A2 B2 
└ ─ ┘ 

Das Makro wie folgt aufgerufen wird:

MergedAreaToRows rngMergedArea:=Range("A1:B2") 

Es ist ziemlich generisch, so Es kann jede Kombination von Zeilen und Spalten in einzelne Zeilen zusammenführen.

Sub MergedAreaToRows(ByRef rngMergedArea As Range) 

    'do it only if area consists of more than a cell 
    If rngMergedArea.Cells.Count > 1 Then 

     'unmerge area 
     rngMergedArea.UnMerge 

     'only if more than one column -> need to merge again 
     If rngMergedArea.Columns.Count > 1 Then 

      'iterate through rows 
      Dim intRow As Integer 
      For intRow = 1 To rngMergedArea.Rows.Count 

       'merge area by rows again 
       rngMergedArea.Rows(intRow).Merge 

      Next intRow 

     End If 

    End If 

End Sub 
0

Wie @Prisoner vorgeschlagen

die vier fusionierten Zellen Unter der Annahme, sind die folgenden:

A1 B1 
A2 B2 

Ihr Code wird:

Range("A1:B2").MergeCells = False 
Range("A1:B1").MergeCells = True 
Range("A2:B2").MergeCells = True 
Verwandte Themen