|
本帖最后由 取不好网名 于 2015-3-17 22:43 编辑
- Sub kk()
- x = Sheet1.Range("a65536").End(3).Row
- Sheet1.Range("d2:d" & x).ClearContents
- arr = Sheet1.Range("a2:d" & x)
- For i = 1 To UBound(arr)
- If Left(arr(i, 1), 1) = "总" Then
- For j = i + 1 To UBound(arr)
- arr(i, 4) = arr(i, 4) + arr(j, 2) * arr(j, 3)
- Next
- ElseIf Left(arr(i, 1), 1) = "第" Then
- j = i + 1
- Do While Left(arr(j, 1), 1) <> "第" And j < UBound(arr)
- arr(i, 4) = arr(i, 4) + arr(j, 2) * arr(j, 3)
- j = j + 1
- Loop
- Else
- If arr(i, 2) = 0 Then
- j = i + 1
- Do While Left(arr(j, 1), Len(arr(i, 1))) = Left(arr(i, 1), Len(arr(i, 1))) And j < UBound(arr)
- arr(i, 4) = arr(i, 4) + arr(j, 2) * arr(j, 3)
- j = j + 1
- Loop
- Else
- arr(i, 4) = arr(i, 2) * arr(i, 3)
- End If
- End If
- Next
- Sheet1.Range("a2").Resize(UBound(arr), 4) = arr
- End Sub
复制代码 |
|