|
- Sub test()
- Dim reGxp As Object, Arr, i&, j&, dic(1 To 2) As Object, tmPobj As Object
- Set dic(1) = CreateObject("scripting.dictionary")
- Set dic(2) = CreateObject("scripting.dictionary")
- Set reGxp = CreateObject("vbScript.regExp")
- reGxp.Global = True
- reGxp.Pattern = "(\d+)个?([^\+]+)"
- Arr = [a1].CurrentRegion
- With reGxp
- For i = 2 To UBound(Arr, 1)
- Set tmPobj = .Execute(Arr(i, 2))
- For Each m In tmPobj
- dic(1)(m.submatches(1) & "") = ""
- dic(2)(Arr(i, 1) & Chr(10) & m.submatches(1)) = m.submatches(0)
- Next m
- Next i
- End With
- ReDim Brr(1 To UBound(Arr, 1), 1 To dic(1).Count + 1)
- For i = 1 To UBound(Arr, 1)
- Brr(i, 1) = Arr(i, 1)
- Next i
- j = 1
- For Each d In dic(1).keys
- j = j + 1
- Brr(1, j) = d
- Next d
- For i = 2 To UBound(Brr, 1)
- For j = 2 To UBound(Brr, 2)
- Brr(i, j) = dic(2)(Brr(i, 1) & Chr(10) & Brr(1, j))
- Next j
- Next i
- [e1].Resize(UBound(Brr, 1), UBound(Brr, 2)) = Brr
- End Sub
复制代码
|
|