Hay un modo de limitar la cantidad de caracteres en celda, desde la Validación de datos.
Si te pasas te aparecerá un mensaje:
Otro modo sería con una macro que controle el evento Change de la hoja, en esa celda. Pero esto significa que se ejecutará ese evento ante cada cambio en toda la hoja... controlando si se trata de esa celda o no... por lo que estarías ejecutando un proceso que parece innecesario. De todos modos también te dejo esa opción.
Se coloca en el objeto HOJA donde vayas a tener esa celda. Ajusta la referencia (ahora quedó en B2) y la cantidad de caracteres (ahora quedó en 10).
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
If Len(Target) > 10 Then
'MsgBox "El texto no puede superar los 10 caracteres."
'Target = "": Target.Select
'opción de recortar el texto
Target = Left(Target, 10)
End If
End If
End Sub
La macro tiene 2 opciones, debes habilitar la que sea mejor para tu caso:
- Avisar y borrar el texto ingresado permitiendo volver a ingresarlo
- Recortar el exceso de caracteres. Por el momento esta es la opción que quedó habilitada.