利用正則表達式提取或刪除漢字
                                          責任編輯:hylng    瀏覽:2019次    時間: 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)

                                          暫時還沒有任何評論

                                          11选5甘肃开奖结果