VBA 代码在小数点后添加上标数字

VBA 代码在小数点后添加上标数字

什么 VBA 代码可以检测单元格中数字的小数点,然后将小数点后的数字添加上标?

例如,在数字 3.45 中,我希望将 45 添加上标,然后删除小数点。

我知道如何改变单元格的值,但不明白如何操作字符串以包含上标。

答案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

我相信其中大部分都是不言自明的。

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

用 左侧的子字符串.(在您的示例中为)与( )3右侧的子字符串连接起来重建单元格的内容,忽略 本身。我在它前面粘贴了以将其转换为文本 — 显然您无法格式化数值中的单个字符。我将水平对齐设置为右对齐,因为这对于数字来说是正常的,但单元格现在是文本并且默认为左对齐。.45.'

相关内容