什么 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
.
'