在數學表達式或者一些物理量綱中,我們經常需要使用到上標,如下圖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
廣告算法圖解
作者:【美】巴爾加瓦(Aditya Bhargava)
當當
代碼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