|
发表于 2013-10-24 18:43
|
显示全部楼层
本楼为最佳答案
本帖最后由 大灰狼1976 于 2013-10-24 18:46 编辑
正则还不太熟悉,试做了一个- Sub aaa()
- Dim arr, i&, reg As Object, s$
- Set reg = CreateObject("vbscript.regexp")
- reg.Global = True
- arr = [a1].CurrentRegion
- For i = 2 To UBound(arr)
- If arr(i, 2) = 1 Then
- reg.Pattern = "^\d+"
- s = "(" & reg.Execute(arr(i, 1))(0) & ")"
- arr(i, 3) = reg.Replace(arr(i, 1), s)
- ElseIf arr(i, 2) = 2 Then
- reg.Pattern = "\d+="
- s = "(" & Val(reg.Execute(arr(i, 1))(0)) & ")="
- arr(i, 3) = reg.Replace(arr(i, 1), s)
- End If
- Next i
- [a1].CurrentRegion = arr
- End Sub
复制代码 |
|