VBA快速处理上标

网友投稿 431 2022-10-19

VBA快速处理上标

在数学表达式或者一些物理量纲中,我们经常需要使用到上标,如下图1所示。

图1

在我们设置或者取消上标时,都需要先选取要设置上标的字符,调出“设置单元格格式”对话框,在“字体”选项卡中选取或取消“上标”复选框前的勾选,如下图2所示。

图2

如果要处理的单元格区域中含有大量带有上标的文本,我们要一个个手动操作删除或取消上标,会非常繁琐。幸好有VBA,能够帮助我们自动快速地完成任务。

代码1:快速删除所选单元格中的上标字符

‘删除所选单元格区域中所有上标

Sub DeleteSuperScript()

Dim rng As Range

Dim i As Long

‘确保选择的是单元格区域

If TypeName(Selection) <>”Range” Then Exit Sub

‘关闭屏幕刷新

Application.ScreenUpdating = False

‘遍历所选单元格

For Each rng In Selection.Cells

‘遍历单元格中的每个字符

For i = 1 To Len(rng.Value)

‘判断是否为上标

If rng.Characters(i,1).Font.Superscript = True Then

‘删除

rng.Characters(i, 1).Delete

i = i – 1

End If

Next i

Next rng

‘恢复屏幕刷新

Application.ScreenUpdating = True

End Sub

广告算法图解

当当

代码2:快速取消所选单元格中的字符上标格式

‘取消所选单元格中所有上标

Sub RemoveSuperScript()

Dim rng As Range

Dim i As Long

‘确保选择的是单元格区域

If TypeName(Selection) <>”Range” Then Exit Sub

‘关闭屏幕刷新

Application.ScreenUpdating = False

‘遍历所选单元格

For Each rng In Selection.Cells

‘遍历单元格中的每个字符

For i = 1 To Len(rng.Value)

‘判断是否为上标

If rng.Characters(i, 1).Font.Superscript =True Then

‘取消上标格式

rng.Characters(i,1).Font.Superscript = False

End If

Next i

Next rng

‘恢复屏幕刷新

Application.ScreenUpdating = True

End Sub

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:WPS表格中的数据怎么标记符合要求的数字?
下一篇:在WPS表格中以分数形式输入数字的5种方法
相关文章