Redondear a 2 decimales una fórmula mediante macro

Me gustaría saber si hay alguna forma de conseguir a través de una macro, redondear una fórmula existente de una celda a 2 decimales, pero que se me mantenga la fórmula y no aparezca como resultado; Por ejemplo si en una celda tengo +1/3 que el resultado sea 0,33 pero que en la celda me aparezca 1,33
El código que propongo es el siguiente aunque evidentemente me falta la linea que quiero conseguir:
Sub Redondear()
Dim Valor As Single
Dim c As Range
For Each c In Selection
If c.HasFormula Then
?????????????????
ElseIf c.Text = c Then
Else
Valor = c.Value
c.Value = Application.Round(Valor, 2)
End If
Next c
End Sub
Respuesta

Yo también tenia ese mismo problema, como en el caso planteado, en el caso de 1/3=0.33333... usaba la función NUMERO y le asignaba dos decimales, el problema era que visualmente me aparecía 0.33 pero en realidad seguía ahí ese montón de decimales, al momento de cargar la información al sistema no me lo aceptaba me decía que el sistema solo permite dos decimales, USE LA FUNCIÓN QUE INDICASTE (=REDONDEAR) y ME FUNCIONO PERFECTAMENTE... GRACIAS POR TU VALIOSA APORTACIÓN, anterior mente tenia que redondear de forma manual más de 1,500 filas.

2 respuestas más de otros expertos

Respuesta
2
Me preguntaba -mientras leía tu planteo- si lo que buscas no es, simplemente, aplicarle un formato de decimales 2 a la celda donde tienes la fórmula. (Si así fuera, deberías clickear en "Formato", "Celdas" y elegir la opción "Número" en la solapa del mismo nombre, donde podrás seleccionar la cantidad de decimales a mostrar)
Me desorienta que pretendas tener 1,33 en una celda con la fórmula +1/3 (cuyo resultado, efectivamente, es 0.3333). A menos que fuese un error de tipeo.
Me suena a que es sólo una cuestión de formato de celda, tal como sugiero en el primer párrafo. De todos odos si realmente necesitas una macro la instrucción que buscas es:
ActiveCell.Value = Application.WorksheetFunction.RoundUp(ActiveCell, 2)
Pero esta reemplaza la fórmula por el resultado redondeado
Por último recuerda que una fórmula del tipo:
=REDONDEAR(1/3,2)
Mantendrá la fórmula y el resiultado tendrá sólo dos decimales.
Espero haberte ayudado, pero si no te entendí bien, pregúntame nuevamente.
Un abrazo!
Fernando
Respuesta

Desde el video tienes link

Elige desde video reproducir en youtube yveras link

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas