|
- Sub tt()
- arr = Sheet1.[a1].CurrentRegion
- ReDim brr(1 To 10000, 1 To 2)
- For i = 1 To UBound(arr)
- If Len(arr(i, 1)) = 0 Then arr(i, 1) = arr(i - 1, 1)
- x = arr(i, 2)
- If InStr(x, "分") > 0 Then '含“分”
- k = Val(Split(x, "分")(1))
- If k > 1 Then
- For j = 1 To k
- n = n + 1: brr(n, 1) = arr(i, 1): brr(n, 2) = x
- Next
- End If
- ElseIf InStr(x, "付") > 0 Then '含“付”
- y = StrReverse(x) '字符串反转
- k = Val(Split(y, "付")(1))
- k = Val(StrReverse(k)) '字符串反转(两位数以上有用,如31变成13)
- x = Replace(x, "*" & k & "付", "") '去掉“*3付”
- If k > 1 Then
- For j = 1 To k
- n = n + 1: brr(n, 1) = arr(i, 1): brr(n, 2) = x
- Next
- End If
- Else
- n = n + 1: brr(n, 1) = arr(i, 1): brr(n, 2) = x
- End If
- Next
- [d1].Resize(n, 2) = brr
- End Sub
复制代码 |
|