Vba: come unire le celle con gli stessi valori
È possibile utilizzare la seguente sintassi in VBA per unire celle con gli stessi valori in un intervallo particolare:
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
Questa particolare macro unisce le celle con gli stessi valori nell’intervallo A1:C13 .
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: unisci celle con gli stessi valori in VBA
Supponiamo di avere il seguente set di dati in Excel che contiene informazioni sui punti segnati da vari giocatori di basket:
Supponiamo di voler unire celle con gli stessi valori in righe consecutive.
Per fare ciò possiamo creare la seguente macro:
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
Quando eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che ciascuna cella contenente lo stesso nome della conferenza e lo stesso nome del team è stata unita.
Tieni presente che abbiamo utilizzato l’istruzione cell.VerticalAlignment = xlCenter per specificare che il testo deve essere centrato verticalmente nelle celle unite.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come contare il numero di colonne utilizzate
VBA: come modificare l’altezza della riga
VBA: come modificare la larghezza della colonna