当前位置:首页 > Excel VBA教程 > 批量设定文字的上标(续)

批量设定文字的上标(续)

来源:Excel中文网 作者:Excelcn 发布时间:2006-12-05

在本站早些的一篇文章——批量设定文字的上标中(http://www.excelba.com/showart.asp?art_id=40),介绍怎么用宏来批量设定上标,不过此例是设定固定字符串的情况,在论坛中,liangyuhong在(http://www.excelba.com/bbs/bbs_detail.asp?bid=1&aid=532)里说,能不能将类似“[内容]”的部份批量设定为上标,代码如下:

Private Sub BSSB(StarString As String, EndString As String)
On Error Resume Next
’先选择单元格(可以为多个),再运行此宏
Dim TRan As Range, TStr As String, i, j, k
For Each TRan In Selection
    TStr = TRan.Value
    If TStr Like "*[" & StarString & "]*[" & EndString & "]*" Then
        k = 1
        Do
            i = WorksheetFunction.Search(StarString & "*" & EndString, TStr, k)
            If Err.Number <> 0 Then
                Err.Clear
                Exit Do
            End If
            j = WorksheetFunction.Find(EndString, TStr, i) - i + 1
            TRan.Characters(Start:=i, Length:=j).Font.Superscript = True
            k = i + j
        Loop While k < Len(TStr)
    End If
Next
End Sub

上面的是实现子程序,只要在其它过程中调用即可,如:

Sub main()
BSSB "(", ")"
End Sub

现在这样类似的情况我们也可以轻松解决啦!

| 网站地图 All Rights Reserved. Powered by Excel中文网