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:
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