[Hola
Cuando se está editando/ingresando datos dentro de una celda (combinada o no) el control de la aplicación lo tiene el usuario, no el mismo Excel y/o VBA, por lo que no es posible hacer, en automático, lo que estás mencionando. Tanto con "Validación" como con VBA (macros), podrás ingresar un límite de caracteres pero recién posterior a eso, cuando "salgas" de la celda, Excel te "avisará" que te pasaste del número de tales que hayas elegido. Ah, por cierto, el límite jamás está basado en la parte de la celda que se ve en la pantalla. La única diferencia es que con VBA puedes borrar los datos que están de más y/o pasarlos a otra celda.
Un ejemplo para que te des idea. Si en cualquiera de las celdas del rango "A1:A10" te pasas los 10 caracteres, al dar "Enter" (o similar) la celda quedará solo con 10 caracteres y el resto pasará a la celda inmediata inferior:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Rows.Count >= 2 Then Exit Sub
If Not Application.Intersect(Target, Range("A1:A10")) Is Nothing Then
If Len(Target) >= 10 Then
Application.EnableEvents = False
Target.Offset(1, 0) = Mid(Target, 11)
Target = Left(Target, 10)
Application.EnableEvents = True
End If
End If
End Sub
Eso tienes que pegarlo en el módulo de la hoja. Dale click derecho a la pestaña de la hoja, en el menú contextual elige "Ver código", eso abrirá el editor de VBA. Pega en ese "gran espacio en blanco" lo que te he enviado.
Comentas
Abraham Valencia