Vba: cellen met dezelfde waarden samenvoegen


U kunt de volgende syntaxis in VBA gebruiken om cellen met dezelfde waarden in een bepaald bereik samen te voegen:

 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

Deze specifieke macro voegt cellen met dezelfde waarden in het bereik A1:C13 samen.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: cellen samenvoegen met dezelfde waarden in VBA

Stel dat we de volgende gegevensset in Excel hebben die informatie bevat over de punten die door verschillende basketbalspelers zijn gescoord:

Stel dat we cellen met dezelfde waarden in opeenvolgende rijen willen samenvoegen.

We kunnen hiervoor de volgende macro maken:

 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

Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:

VBA voegt cellen met dezelfde waarden samen

Houd er rekening mee dat alle cellen met dezelfde conferentienaam en teamnaam zijn samengevoegd.

Houd er rekening mee dat we de instructie cell.VerticalAlignment = xlCenter hebben gebruikt om op te geven dat de tekst verticaal in de samengevoegde cellen moet worden gecentreerd.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:

VBA: het aantal gebruikte kolommen tellen
VBA: rijhoogte wijzigen
VBA: kolombreedte wijzigen

Einen Kommentar hinzufügen

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