Saltar al contenido

Redondear código


Recommended Posts

publicado

Hola buenas tardes a todos. He estado buscando y no he encontrado nada sobre ello. Vereis tengo un código VBA para que me indique un número con 3 cifras significativas (ojo no 3 decimales). Por ejmplo:

123

65.1

8.89

0.235

0.0457

etc

El código es el siguiente:

Sub Macro2()

Range("b2").Select

While Not IsEmpty(ActiveCell)

cifra = ActiveCell.Value

a = 0

i = 0

While (a = 0 Or a = ",")

i = i + 1

a = Mid(cifra, i, 1)

Wend

If i = 1 Then

If InStr(1, Mid(cifra, 1, 3), ",", vbBinaryCompare) Then

cifra = Left(cifra, 4)

Else

cifra = Left(cifra, 3)

End If

Else

cifra = Left(cifra, 2 + i)

End If

ActiveCell.Offset(1, 0).Value = cifra + 0

ActiveCell.Offset(0, 1).Select

Wend

End Sub

Ahora bien lo que ocurre es que necesito redondear a la alza cuando la cuarta cifra es mayor de 5. Por ejemplo

0.23475 sería 0.235.

¿Me podríais indicar que habría que añadir?

Eso por un lado y por otro cuando la 3a cifra es 0, solo me quedan dos cifras es decir:

56.02 me lo expresa como 56, y no como 56.0.

Si conoceis alguna manera más sencilla de conseguir esto estoy abierto a opiniones.

Muchas gracias,

Saludos a todos.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.