[點(diǎn)晴永久免費(fèi)OA]正則表達(dá)式如何直接在EXCEL中使用?
正則表達(dá)式,相信大家都不陌生。但在我們最常用的辦公軟件EXCEL中,目前沒有可直接使用正則表達(dá)式的函數(shù)(至少10版本的EXCEL沒有),那么今天我就分享下如何在EXCEL中自定義正則函數(shù)。 一、提需求比如,我要拆分下面的字符串:
顯然這樣的需求,用正則表達(dá)式再合適不過了。 二、解決步驟下面我們使用的這個(gè)方法,定義出的函數(shù)將長(zhǎng)期有效: 1、新建一個(gè)EXCEL文件,我這里命名為RE,隨后按ALT+F11打開宏編輯器,選中任意一個(gè)sheet,右鍵,選擇插入模塊: 2、雙擊模塊1,編輯如下VBA自定義函數(shù)代碼: 1 Function RE(OriText As String, ReRule As String, ReplaceYesOrNo As Boolean) 2 ''' 3 'OriText:待匹配的字符串 4 'ReRule:正則表達(dá)式 5 'ReplaceYesOrNo:是否采用替換方法,1表示替換,0表示不替換,默認(rèn)為不替換 6 ''' 7 8 '創(chuàng)建一個(gè)正則表達(dá)式實(shí)例對(duì)象 9 Set ReObject = CreateObject("vbscript.regexp") 10 11 With ReObject 12 13 '是否區(qū)分大小寫,一般需求是不用區(qū)分大小寫,因此這里為True 14 .IgnoreCase = True 15 16 '是否匹配所有,一般需求也都是匹配所有,這里也就默認(rèn)是True,如果為False表示只匹配第一次出現(xiàn)的 17 .Global = True 18 19 '匹配時(shí)所用到的正則表達(dá)式 20 .Pattern = ReRule 21 22 If ReplaceYesOrNo Then 23 24 '如果使用替換方法,則將正則表達(dá)式匹配到的項(xiàng)替換為空 25 RE = .Replace(OriText, "") 26 27 Else 28 '否則,返回可迭代對(duì)象的第一項(xiàng) 29 RE = .Execute(OriText)(0) 30 31 End If 32 33 End With 34 35 End Function 3、另存為加載宏格式: 4、點(diǎn)擊下方的加載項(xiàng): 5、點(diǎn)擊瀏覽: 6、選擇我們剛保存的加載宏格式文件,結(jié)果如下圖:
好了,到這里我們的正則函數(shù)就創(chuàng)建好了,隨后每次打開EXCEL都可以直接使用定義的RE函數(shù),按照需求來(lái)敲出合適的正則表達(dá)式。 三、結(jié)果呈現(xiàn)轉(zhuǎn)自https://www.cnblogs.com/xu-qingfeng/p/14540640.html 該文章在 2025/2/17 8:58:21 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |