前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA实用小程序53: 快速处理上标

VBA实用小程序53: 快速处理上标

作者头像
fanjy
发布2019-07-19 16:27:30
1.2K0
发布2019-07-19 16:27:30
举报
文章被收录于专栏:完美Excel完美Excel

学习Excel技术,关注微信公众号:

excelperfect

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

图1

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

图2

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

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

代码语言:javascript
复制
'删除所选单元格区域中所有上标
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:快速取消所选单元格中的字符上标格式

代码语言:javascript
复制
'取消所选单元格中所有上标
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

程序代码的图片版如下:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档