Mascara ALFA-NUMERICA

01/08/2004 - 14:08 por LISANDRO | Informe spam
Estimados.-
Como puedo colocar una mascara donde el numero de digitos
son 15 pero son Alfa-Numericos en cualquiera de sus
posiciones Ej: SEGURI8-G5ANT-005 (Los 3 ultimos caracteres
siempre son Numeros)
Por otro lado como hacer para proteger que siempre al
tipear si se pasa de 15Dig de un mensaje de ALTO. o
simplemente no permita la modificacion.

==Me ha resultado pero solo cuando el codigo es numerico.
Ej: [1658968-53621-867] La mascara consta de los digitos
separados por [-] [7-5-3]
Un mil gracias.-
 

Leer las respuestas

#1 David Canales
01/08/2004 - 22:20 | Informe spam
Coloca el siguiente codigo en el modulo de la hoja (click-derecho en la pestaña
de la hoja, Ver Codigo). Tienes la opcion de usar los dos primeros ElseIf que le
dan un mensaje al usuario, mantiene la info erronea en la celda y le permite
corregirla para no tener que escribirla toda de nuevo (es posible que el usuario
opte por no corregirla). Si decides dejar el tercer ElseIf y no los dos
primeros, este no permite al usuario introducir un codigo diferente a 15
caracteres. Puedes dejar este ultimo sin el mensaje.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Range("A2:A100")) Is Nothing Then Exit Sub
On Error GoTo Fin
Application.EnableEvents = False
Target = Replace(Target, "-", "")
With Target
If Len(.Value) = 15 Then
.Value = Left(.Value, 7) & "-" & Right(.Value, 5) & _
"-" & Right(.Value, 3)
ElseIf Len(.Value) < 15 Then
MsgBox "Codigo tiene menos de 15 caracteres"
ElseIf Len(.Value) > 15 Then
MsgBox "Codigo tiene mas de 15 caracteres"
'ElseIf Len(.Value) <> 15 Then
'MsgBox "Codigo debe ser de 15 caracteres"
' .Value = ""
End If
End With
Fin:
Application.EnableEvents = True
End Sub


Saludos,

David Canales


"LISANDRO" wrote in message
news:826601c477c0$320d38d0$
Estimados.-
Como puedo colocar una mascara donde el numero de digitos
son 15 pero son Alfa-Numericos en cualquiera de sus
posiciones Ej: SEGURI8-G5ANT-005 (Los 3 ultimos caracteres
siempre son Numeros)
Por otro lado como hacer para proteger que siempre al
tipear si se pasa de 15Dig de un mensaje de ALTO. o
simplemente no permita la modificacion.

==Me ha resultado pero solo cuando el codigo es numerico.
Ej: [1658968-53621-867] La mascara consta de los digitos
separados por [-] [7-5-3]
Un mil gracias.-

Preguntas similares