最近遇到一个需求,实验室的同事说经常要在Excel里输入各种化学式,化学式里有很多数字下标,但是在Excel里改下标需要一个一个改,太麻烦了。于是,我给写了一段VBA,一键批量将Excel所选单元格中的数字变为下标:
Sub 批量改下标()
Application.ScreenUpdating = True '禁用屏幕自动刷新,提高运行效率
Dim selectedRange As Range '所选单元格Range
Dim strLength As Integer '单元格内字符串长度
Dim i As Integer
For Each selectedRange In Selection
strLength = Len(selectedRange.Text)
For i = 1 To strLength
If IsNumeric(Mid(selectedRange.Text, i, 1)) = True Then '如果是数字,则执行下标变换
selectedRange.Characters(Start:=i, Length:=1).Font.Subscript = True
End If
Next
Next
Application.ScreenUpdating = True '恢复屏幕自动刷新
End Sub
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。