Gostaria de sugerir-lhe o código do VBA para atingir o seu objetivo, uma vez que é o melhor e mais fácil método possível de aplicar.
Você pode usar o código VBA abaixo escrito para Mesclar células adjacentes na coluna direita, se os valores deixados para eles forem duplicados.
Verifique a captura de tela:
SubMergeSameCell()DimRngAsRange,xCellAsRangeDimxRowsAsIntegerxTitleId="Merge Cells In Excel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xRows = WorkRng.Rows.Count
For Each Rng In WorkRng.Columns
For i = 1 To xRows - 1
For j = i + 1 To xRows
If Rng.Cells(i, 1).Value <> Rng.Cells(j, 1).Value Then
Exit For
End If
Next
WorkRng.Parent.Range(Rng.Cells(i, 2), Rng.Cells(j - 1, 2)).Merge
WorkRng.Parent.Range(Rng.Cells(i, 3), Rng.Cells(j - 1, 3)).Merge
WorkRng.Parent.Range(Rng.Cells(i, 4), Rng.Cells(j - 1, 4)).Merge
i = j - 1
Next
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Como usar o código:
- Mantenha pressionadas as teclas ALT + F11 e abra o Microsoft Visual Basic para a janela Aplicativos.
- Clique em Inserir, em Módulo e cole o Código.
- Execute a macro.
- Quando a caixa Inserir aparecer, selecione o intervalo de dados em que Duplicar valores estão disponíveis.
- Termine com ok.
Você faz o trabalho.