excel vba 自定義函數 使用正則表達式提取字符串


數據清洗的時候往往需要從表格中提取特定的字符串,而少量數據用Excel就能完成。

下面Excel VBA自定義函數來提取 字符串中符合正則表達式的字符串

 

先上效果圖:

以下從一個單元格字符串中提取出連續出現的數字,並且空格分割,后面只需分列以下就提取到不同單元格了。

 

函數代碼:

Function REFIND(str, re)
    Dim Reg As New RegExp
    With Reg
    .Global = True
    .Pattern = re
    Set matchs = .Execute(str)
        For Each Match In matchs
            y = y & " " & Match
        Next
    End With
    'MsgBox y
    REFIND = y
End Function

 

注意:需要是office的VBA環境,sheet名字右鍵查看代碼或者開發工具進入VBA界面。在插入中插入模塊,編寫代碼,保存;然后就可以在表格中使用了。

如果出現用戶自定義類型未定義,那是因為RegExp類型需要從工具欄中引用添加 Microsoft VBScript Regular Expressions 5.5

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM