Saltar al contenido

Limitar número caracteres

publicado

Buenas tardes, mi duda es la siguiente, necesito que en una casilla de Excel, se permita como mucho escribir  los primeros 8 números que escribas y si escribo alguno más QUE NO PERMITA ESCRIBIR MAS Y SE PARE.?

 

Esta opción es realmente posible? Muchas gracias y saludos a toda la comunidadde foreros.

Featured Replies

publicado

Hola

hace 56 minutos , Davides71 dijo:

necesito que en una casilla de Excel, se permita como mucho escribir  los primeros 8 números

Con una macro de evento y validación de datos, es posible

Te dejo un pequeño ejemplo

Restringir entrada de datos VBA_GP.xlsm

publicado
  • Autor

Muchas gracias. Te lo agradezco. Lo investigo luego a fondo que esto de Excel es un mundo complejo a veces. Vosotros lo hacéis más fácil. Da gusto.

 

Saludos.

publicado

Hola @Davides71(y Gerson),

La propuesta de Gerson es inexpugnable: no es posible de ninguna forma escribir más de 8 caracteres en A1. Con una simple validación de datos limitando a 8 el número máximo de caracteres, si tecleas sobre A1 no te permite más de 8, pero mediante copiar/pegar, arrastrar... puedes escribir cualquier número de caracteres. Supongo que lo sabes, pero la validación simple sería:

image.thumb.png.f6f686dea4fff0d137a73092acdc5c4f.png

publicado
  • Autor

Muchas gracias por las respuestas. El motivo de la consulta lo mismo es algo más complejo. Trabajo con códigos de barras y sus pegatinas correspondientes. Al disparar por ejemplo sobra la casilla A1...... te marca 10 números, siento los 2 últimos una terminación que luego tengo que borrar, porque no me sirve.

 

Mi idea era limitar los caracteres a 8 pero que recoja el número 

 

Saludos y muchas gracias.

 

 

publicado

Hola @Davides71(y Gerson)

No sé si te puede servir con una macro en el evento WorkSheet_Change() de modo que al escribir el número del código de barras (10 números), la celda cambia y en el evento le decimos que elimine las 2 últimas cifras...

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Rows.Count > 1 Then Exit Sub
    If Target.Column = 1 Then Target = Left(Target, 8)
End Sub

image.gif.06498d5acdef0f0488862b43ed77c141.gif

De 10 a 8 caracteres.xlsm

publicado
  • Autor

Ha funcionado perfectamente. Envidio el conocimiento que tienes o tenéis en general los que controláis office a estos niveles de poner una duda y tener la solución.  Me intriga toda la nomenclatura que has puesto para que funcione y me esta picando la curiosidad de como podría empezar a estudiar un poco este mundillo.

¿ Alguna recomendación?

 

Muchas gracias FGV por todo.

publicado
  • Autor

Muchas gracias Fernando.

 

Saludos y muchas gracias por todo.

 

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.