Excelmacros和正则expression式

我有一个Excel表中包含一些数据的列。 我想编写一个macros来replace单元格内容,使用特殊字符前面出现的单词。 例如:

细胞内容:

M.Ramalingam S/o Mahalingam 

应该换成:

 M.Ramalingam 

细胞内容:

 Balkis Beevi Wo Mahamed Ali Jinna 

应该被replace为:

 Balkis Beevi 

就像是

 Function StrNew(strIn As String) As String Dim objRegexp As Object Set objRegexp = CreateObject("vbscript.regexp") With objRegexp .Pattern = "^(.+)\b.+[\-\/].*?$" StrNew = .Replace(strIn, "$1") End With End Function 

您应该使用自定义公式:

 Function CHANGE(text As String, char As String) Dim sArray() As String sArray() = Split(text, char) CHANGE = Trim(sArray(0)) End Function 

那么你可以在单元格中这样使用它:“= CHANGE(B2;”S / o“)”第一个参数是包含要分割文本的单元格,第二个参数是特殊字符。

我希望这可以帮助你…