Vba: so führen sie zellen mit denselben werten zusammen


Sie können in VBA die folgende Syntax verwenden, um Zellen mit denselben Werten in einem bestimmten Bereich zusammenzuführen:

 Sub MergeSameCells()
    
    'turn off display alerts while merging
    Application.DisplayAlerts = False
    
    'specify range of cells for merging
    Set myRange = Range(" A1:C13 ")

'merge all same cells in range
MergeSame:
    For Each cell In myRange
        If cell.Value = cell.Offset(1, 0).Value And Not IsEmpty(cell) Then
            Range(cell, cell.Offset(1, 0)).Merge
            cell.VerticalAlignment = xlCenter
            GoTo MergeSame
        End If
    Next
    
    'turn display alerts back on
    Application.DisplayAlerts = True

End Sub

Dieses spezielle Makro führt Zellen mit denselben Werten im Bereich A1:C13 zusammen.

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Zellen mit gleichen Werten in VBA zusammenführen

Angenommen, wir haben den folgenden Datensatz in Excel, der Informationen über die von verschiedenen Basketballspielern erzielten Punkte enthält:

Angenommen, wir möchten Zellen mit denselben Werten in aufeinanderfolgenden Zeilen zusammenführen.

Dazu können wir das folgende Makro erstellen:

 Sub MergeSameCells()
    
    'turn off display alerts while merging
    Application.DisplayAlerts = False
    
    'specify range of cells for merging
    Set myRange = Range(" A1:C13 ")

'merge all same cells in range
MergeSame:
    For Each cell In myRange
        If cell.Value = cell.Offset(1, 0).Value And Not IsEmpty(cell) Then
            Range(cell, cell.Offset(1, 0)).Merge
            cell.VerticalAlignment = xlCenter
            GoTo MergeSame
        End If
    Next
    
    'turn display alerts back on
    Application.DisplayAlerts = True

End Sub

Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

VBA führt Zellen mit denselben Werten zusammen

Beachten Sie, dass alle Zellen, die denselben Konferenznamen und denselben Teamnamen enthalten, zusammengeführt wurden.

Beachten Sie, dass wir die Anweisung cell.VerticalAlignment = xlCenter verwendet haben, um anzugeben, dass der Text in den zusammengeführten Zellen vertikal zentriert werden soll.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:

VBA: So zählen Sie die Anzahl der verwendeten Spalten
VBA: So ändern Sie die Zeilenhöhe
VBA: So ändern Sie die Spaltenbreite

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert