c2=xxx(B2) Function xxx(ByVal sz As String) Dim reg, s As String Set reg = CreateObject("vbscript.regexp") Set repla = CreateObject("vbscript.regexp") reg.Global = True reg.Pattern = "\b\d+\-\d+\b" repla.Pattern = "(\d+)\-(\d+)" s = "" If reg.test(sz) Then For Each exis In reg.Execute(sz) If Evaluate(CStr(exis)) = 0 Then s = s + repla.Replace(CStr(exis), "AB$1") + "," Else s = s + repla.Replace(CStr(exis), "AB$1-AB$2") + "," End If Next End If xxx = Left(s, Len(s) - 1) End Function