|
Sub test250413b()
Dim i, j, m, n, sum As Integer, ar, br As Variant, reg As Object, matches As Object, mat
Set reg = CreateObject("vbscript.regexp")
ar = Sheet1.[a1].CurrentRegion
Sheet1.[b2].Resize(UBound(ar), 8).ClearContents
ar = Sheet1.UsedRange
ReDim br(1 To UBound(ar), 1 To 14)
With reg
.Global = 1
.Pattern = "周\d|-\d"
For i = 2 To UBound(ar)
Set matches = .Execute(ar(i, 11))
If matches.Count > 0 Then
For Each mat In matches
n = n + 1: br(i, n) = mat
Next
End If
n = 0
Next
End With
With Sheet1
For i = 2 To UBound(ar)
For j = 1 To 13 Step 2
If br(i, j) <> "" Then
m = Val(Right(br(i, j), 1)): .Cells(i, 1).Offset(, m) = Val(br(i, j + 1))
sum = sum + Val(br(i, j + 1))
End If
Next
.Cells(i, 9) = sum: sum = 0
Next
End With
MsgBox "ok"
End Sub |
|