Não tenho certeza de como contornar a contabilização de células mescladas para cada célula dentro do intervalo que é mesclado, mas estou tentando evitar que o usuário selecione uma combinação de células próximas umas das outras e limpe o conteúdo.
Sub PreventDeleteMultipleMergedCells()
If Selection.Count = 1 Then
Selection.ClearContents
Else
MsgBox "You cannot delete the contents of multiple selected cells."
End If
End Sub
Me deparei com uma função pública (veja abaixo) em minha pesquisa, mas não tenho certeza de como trabalhar a saída na subfunção que acionaria a MsgBox se as células selecionadas fossem > 1.
Public Function MergedColumnsCount(c As Range) As Long
MergedColumnCount = 0
For i = 1 To c.Columns.Count
MergeColumnSize = c(i).MergeArea.Columns.Count
If MergeColumnSize > 1 Then
i = i + MergeColumnSize - 1
End If
MergedColumnCount = MergedColumnCount + 1
Next i
MergedColumnsCount = MergedColumnCount
End Function