在 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
如何使用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