Por ejemplo, puse 5.555 en la celda. Cuando cambio el número de decimales a 2, el valor cambia a 5,56. Si el número de decimales es 0, el valor en la celda es 6. Si agrego decimales, no cambia el valor. Deshacer tampoco funciona.
He eliminado todas las macros y todas las hojas que estaban aquí antes.
Respuesta1
El problema estaba en la opción "Establecer precisión como se muestra" (Archivo->Opciones->Avanzado).
http://office.microsoft.com/en-us/excel-help/set-rounding-precision-HA010218870.aspx
Respuesta2
Dado que sus comentarios ahora mencionan una solución, esta es una alternativa, ya que lo que está haciendo es lo esperado de forma predeterminada.
Otra forma de evitar esto es usar truncar para acortar el valor, lo que efectivamente trata el valor como una cadena, que es lo que estás haciendo.
Entonces, actualice el valor de la celda de 5.555 a
=TRUNC(5.555, 2)
Y se actualizará a 2 dígitos.
O bien, la fórmula puede hacer referencia a otra celda. Algo como
=TRUNC(a5, 4)
La idea de esto es
=TRUNC(numberToChange , numberOfDigits)