|
- Sub test2()
- Dim r%, i%
- Dim arr, brr
- Dim reg As New RegExp
- Dim d As Object
- Set d = CreateObject("scripting.dictionary")
- With reg
- .Global = True
- .Pattern = "([\u4e00-\u9fbb]+)[\s\.]+([\d\.]+)"
- End With
- n = 0
- With Worksheets("sheet1")
- r = .Cells(.Rows.Count, 1).End(xlUp).Row
- arr = .Range("a1:a" & r)
- ReDim brr(1 To UBound(arr), 1 To 50)
- For i = 1 To UBound(arr)
- Set mh = reg.Execute(arr(i, 1))
- For j = 0 To mh.Count - 1
- mc = mh(j).SubMatches(0)
- sl = mh(j).SubMatches(1)
- If Not d.exists(mc) Then
- n = n + 1
- d(mc) = n
- End If
- brr(i, d(mc)) = Val(sl)
- Next
- Next
- End With
- With Worksheets("sheet2")
- .Cells.Clear
- .Range("a1").Resize(1, d.Count) = d.keys
- .Range("a2").Resize(UBound(brr), n) = brr
- End With
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|