Jump to content
paikerr

Modificar un número

Recommended Posts

Hola a todxs,

 

Supongamos que tengo un número de cuatro cifras como el siguiente: 1024.

 

Pues bien, necesito redondear la última cifra a las decenas.

De modo que si la unidad es igual o mayor que 5, le sume una unidad a las decenas; y si es menor que 5, se mantenga como tal y como está.

Y una vez hecho lo anterior, eliminar las unidades directamente del número.

 

En nuestro ejemplo, quedaría algo así: 102

 

El paso siguiente sería tal que, necesito intoducir una coma flotante entre las unidades de millar y las centenas.

 

Para que finalmente quedara algo así: 1,02

 

Otro ejemplo, sería como el siguiente: 1168 > 117 > 1,17

 

Comparto el único código que se me ha ocurrido hasta el momento, pero que de alguna manera resulta ser bastante funcional:

 

...	
		   If Cells(1, 1) >= 1000 Then
                        If Mid(Cells(1, 1), 4) <= 4 Then
                            Cells(1, 1).Select
                                With Selection
                                ' Texto de las celdas:
                                    .FormulaR1C1 = "1" & Mid(Cells(1, 1), 1, 3)
                                    .Replace What:="11", Replacement:="1,"
                                    .Replace What:="1,1,", Replacement:="1,11"
                                ' Formato de las celdas:
                                    .NumberFormat = "0.00"
                                End With
                        ElseIf Mid(Cells(1, 1), 4) > 4 Then
                            Cells(1, 1).Select
                                With Selection
                                ' Texto de las celdas:
                                    .FormulaR1C1 = "1" & Mid(Cells(1, 1), 1, 3) + 1
                                    .Replace What:="11", Replacement:="1,"
                                    .Replace What:="1,1,", Replacement:="1,11"
                                ' Formato de las celdas:
                                    .NumberFormat = "0.00"
                                End With
                        End If
                    End If
...

 

En fin... Espero vuestras críticas y correciones sobre mi código.

O incluso, una idea mejor. :D

 

Saludos.

Share this post


Link to post
Share on other sites
Guest Cacho R

Intenta con:

Range("A1") = Round(Range("A1") / 10, 0) / 100

¿Va?...

Edited by Cacho R

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.



×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png