Nuestro lector intento usar el siguiente formato personalizado "#,##0.#####”, el cual tiene el inconveniente de mostrar el separador de miles (coma o punto, dependiendo de las definiciones regionales) aún cuando el número es entero, como puede verse en este ejemplo
Si usamos Excel 2007 la solución del problema es bien sencilla. En lugar de formato personalizado de números usamos Formato Condicional creando dos reglas, una para cuando el número es entero y otra para cuando no lo es.
Suponiendo que el rango de números que queremos formar está en la columna C, para evaluar si el número es entero o no usamos la formula
=C1-TRUNCAR(C1)
Esta fórmula resta del número la parte entera; si el número es entero el resultado es 0. De esta manera podemos crear dos reglas para el formato condicional de las celdas
=(C1-truncar(C1))<>0 que VERDADERO si el número no es entero
=(C1-truncar(C1))=0 que da VERDADERO si el número es entero
Como pueden ver, Excel 2007 tiene una pestaña para dar formato a números en Formato condicional, lo que no existe en las versiones anteriores.
El resultado ahora es el buscado
Con las versiones de Excel 97-2003, no podemos usar formato condicional para formar números
Tampoco podemos usar un formato personalizado condicional, ya que éste no acepta fórmulas. El único camino que nos queda por delante es programar un evento.
Suponiendo que el rango a formar sea la columna C, en el módulo de Vba para la hoja ponemos este código
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngToFormat As Range, test
On Error Resume Next
Set rngToFormat = [C:C]
test = Target.Value - Int(Target)
If Union(Target, rngToFormat).Address = rngToFormat.Address Then
Select Case test
Case 0
Target.NumberFormat = "General"
Case Else
Target.NumberFormat = "#,##0.00000"
End Select
End If
On Error GoTo 0
End Sub
Esta macro se dispara cada vez que introducimos un valor en alguna de las celdas de la columna C; evalúa si el número es entero o no y aplica el formato correspondiente.
Technorati Tags: MS Excel
No hay comentarios.:
Publicar un comentario
Nota: sólo los miembros de este blog pueden publicar comentarios.