¿Existe alguna forma de limitar el texto que se ingrese en una celda?

La idea es, en una celda de la hoja escribir una cantidad de caracteres, pero que me impida continuar cuando llegue a un tope. Me gustaría que fuese con código vba.

1 Respuesta

Respuesta
3

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.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas