Ayuda: Formato de Celda

09/02/2004 - 14:58 por Sider | Informe spam
Hola

A ver, lo que quisiera hacer es teclear un NIF, por ejemplo 12345678A y que
en la celda apareciera 12.345.678-A

Si sólo fuera número no habría problema, funciona poniendo el formato
personalizado así: ##"."###"."###

Pero al poner la letra ya deja de funcionar.

He probado con ##"."###"."###"-"@ y ##"."###"."###"-"$ y no funciona.

Alguien sabe si hay alguna forma facilita de hacerlo??

Saludos :)
 

Leer las respuestas

#1 Fernando Arroyo
09/02/2004 - 16:12 | Informe spam
Con un formato de celdas no sé si lo podrás hacer. Yo he usado alguna vez el siguiente código, que va en el módulo de la hoja (click derecho sobre su etiqueta->Ver código):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Or Target = "" Then Exit Sub
If UCase(Right(Target, 1)) <> Mid("TRWAGMYFPDXBNJZSQVHLCKE", (Left(Target, Len(Target) - 1) Mod 23) + 1, 1) Then MsgBox "Letra de control errónea."

Application.EnableEvents = False
Target = Format(Left(Target, Len(Target) - 1), "#,##0") & "-" & UCase(Right(Target, 1))
Application.EnableEvents = True
End Sub

Ten en cuenta que:
- la columna que se controla, tal como está el código, es la A
- si quieres que los NIFs queden bien alineados tendrás que alinear a la derecha la columna
- si no te interesa que el código valide el NIF que se acaba de introducir, no tienes más que eliminar la línea que empieza con If Ucase...

Un saludo.


Fernando Arroyo
MS MVP - Excel


"Sider" escribió en el mensaje news:e83V%
Hola

A ver, lo que quisiera hacer es teclear un NIF, por ejemplo 12345678A y que
en la celda apareciera 12.345.678-A

Si sólo fuera número no habría problema, funciona poniendo el formato
personalizado así: ##"."###"."###

Pero al poner la letra ya deja de funcionar.

He probado con ##"."###"."###"-"@ y ##"."###"."###"-"$ y no funciona.

Alguien sabe si hay alguna forma facilita de hacerlo??

Saludos :)





Preguntas similares