• 利用正則表達式提取或刪除漢字
    責任編輯:hylng    瀏覽:1890次    時間: 2012-12-31 23:16:08      

    摘要:在日常的工作應用中,我們經常與漢字打交道,下面這個自定義函數的功能,就是提取與刪除字符串或單元格中漢字的自定義函數: Function Hanzi(rng, Optional pd As Boolean = True) As String '******************************************* '時間:2010-09-28 '功能..

    分享到:

    在日常的工作應用中,我們經常與漢字打交道,下面這個自定義函數的功能,就是提取與刪除字符串或單元格中漢字的自定義函數:

    Function Hanzi(rng, Optional pd As Boolean = True) As String
    '*******************************************
    '時間:2010-09-28
    '功能:提取給定字符串(單元格)中漢字與非漢字集
    '說明:rng  原字符串或單元格
    '      pd   當為True時,提取漢字(默認),否則提取非漢字。
    '發布:http://www.excelba.com
    '******************************** ***********
    With CreateObject("VBSCRIPT.REGEXP")
        .Global = True
        If pd Then
            .Pattern = "[^\u4e00-\u9fa5]"
        Else
            .Pattern = "[\u4e00-\u9fa5]"
        End If
        Hanzi = .Replace(rng, "")
    End With
    End Function

    應用示例:設A1里的值為 excel吧 - bengdeng 歡迎您!2010年9月28日

    在B1設定公式:=Hanzi(A1)
    結果為:吧歡迎您年月日

    在C1設定公式::=Hanzi(A1,0)
    結果為:excel - bengdeng !2010928

    除此,也可以利用到其它的程序中,如下面這段程序是去除當前工作表中所有的漢字:

    Sub 去除當前工作表中的漢字()
    Dim tRan As Range
    Application.ScreenUpdating = False
    For Each tRan In ActiveSheet.UsedRange
        tRan = Hanzi(tRan, 0)
    Next
    Application.ScreenUpdating = True
    End Sub

    】【打印繁體】【投稿】 【收藏】 【推薦】 【舉報】 【評論】 【關閉】【返回頂部
    發表評論
    帳  號: 密碼: (新用戶注冊)
    驗 證 碼:
    表 情:
    內  容:
    發表評論
    用戶評價(0)

    暫時還沒有任何評論

    辽宁卫视爱的选择直播