Vba: como mesclar células com os mesmos valores
Você pode usar a seguinte sintaxe no VBA para mesclar células com os mesmos valores em um intervalo específico:
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
Esta macro específica mescla células com os mesmos valores no intervalo A1:C13 .
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: mesclar células com os mesmos valores em VBA
Suponha que temos o seguinte conjunto de dados no Excel que contém informações sobre os pontos marcados por vários jogadores de basquete:
Suponha que queiramos mesclar células com os mesmos valores em linhas consecutivas.
Podemos criar a seguinte macro para fazer isso:
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 executamos esta macro, recebemos a seguinte saída:
Observe que cada uma das células contendo o mesmo nome de conferência e nome de equipe foi mesclada.
Observe que usamos a instrução cell.VerticalAlignment = xlCenter para especificar que o texto deve ser centralizado verticalmente nas células mescladas.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:
VBA: Como contar o número de colunas usadas
VBA: Como alterar a altura da linha
VBA: Como alterar a largura da coluna