Código de VBA para superponer un número después del punto decimal

0

¿Cuál será el código VBA para detectar un punto decimal de un número en una celda y luego superponer los números después del decimal?

Por ejemplo, en el número 3.45 deseo superíndice 45 y luego eliminar el punto decimal.

Sé cómo cambiar el valor de las celdas, pero no entiendo cómo manipular la cadena para incluir superíndices.

cúbico
fuente
Echa un vistazo aquí: mrexcel.com/forum/excel-questions/…
Máté Juhász

Respuestas:

1
Length = Len(ActiveCell.Value)
For i = 1 To Length
    If (Mid(ActiveCell.Value, i, 1) = ".") Then
        ActiveCell.Value = "'" & Left(ActiveCell.Value, i - 1) & Right(ActiveCell.Value, Length - i)
        ActiveCell.Characters(i, Length - i).Font.Superscript = True
        ActiveCell.HorizontalAlignment = xlRight
        Exit For
    End If
Next i

Creo que la mayor parte de esto se explica por sí mismo.

Left(ActiveCell.Value, i - 1) & Right(ActiveCell.Value, Length - i)

reconstruye el contenido de la celda con la subcadena a la izquierda de .(en su ejemplo 3) concatenada con la subcadena a la derecha de .( 45), dejando fuera la .propia. Pegué un 'frente para convertirlo en texto, aparentemente no puede formatear caracteres individuales en un valor numérico. Establecí la alineación horizontal a la derecha porque eso es normal para los números, pero la celda ahora es texto y por defecto está alineada a la izquierda.

G-Man
fuente