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:

VBA mescla células com os mesmos valores

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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *