在 VBA 中删除 Excel 中的上标

Remove superscripts in Excel in VBA

如何使用VBA删除Excel文件(.xlsx)中的上标字符?

它们只出现在某些单元格中,我想保留此单元格的其他部分(未写在 supersripts 中)不变。

将文本复制到其他程序会忘记某些字母是上标,因此很可能必须在 Excel 中完成。

代码需要一些 运行,但我包含了删除上标或 "normalize" 的代码。

以下取上标字符并删除:

Sub DeleteSuperScript()
    Dim c As Range

    Application.ScreenUpdating = False

    For Each c In ActiveSheet.UsedRange
        For i = 1 To Len(c)
            If c.Characters(i, 1).Font.SuperScript Then
                c.Characters(i, 1).Delete
                i = i - 1
            End If
        Next i
    Next c

    Application.ScreenUpdating = True

End Sub

以下采用上标字符和 "normalizes" 它们:

Sub NormalizeSuperScript()
    Dim c As Range

    Application.ScreenUpdating = False

    For Each c In ActiveSheet.UsedRange
        For i = 1 To Len(c)
            If c.Characters(i, 1).Font.SuperScript Then
                c.Characters(i, 1).Font.SuperScript = False
            End If
        Next i
    Next c

    Application.ScreenUpdating = True

End Sub