|
本帖最后由 leeson7502 于 2024-6-18 17:53 编辑
参与一个,- Sub mySum()
- Dim arr(), temp(), iRow As Long, iCol As Long
- Dim ws As Worksheet, strName As String
- Set ws = ThisWorkbook.Sheets("汇总")
- arr = ThisWorkbook.Sheets("明细表").UsedRange.Value2
- iRow = Application.WorksheetFunction.RoundUp(UBound(arr) / 15, 0)
- iCol = ws.UsedRange.Columns.Count
- ReDim temp(1 To iRow, 1 To iCol)
- For i = 1 To UBound(arr)
- If arr(i, 1) = "揽投人员姓名" Then
- strName = Trim(arr(i + 3, 1))
- If strName <> "" And strName <> "0" Then
- k = k + 1
- temp(k, 1) = arr(i + 3, 1)
- temp(k, 2) = arr(i + 3, 2)
- temp(k, 3) = arr(i + 3, 3)
- t = 3
- For m = 3 To 12 Step 3
- If m = 6 Then
- For n = 1 To 8
- t = t + 1
- temp(k, t) = arr(i + m, 3 + n)
- Next
- Else
- For n = 1 To 6
- t = t + 1
- temp(k, t) = arr(i + m, 3 + n)
- Next
- End If
- Next
- t = t + 1
- temp(k, t) = arr(i + 3, 12)
-
- For m = 3 To 12 Step 3
- For n = 1 To 8
- t = t + 1
- temp(k, t) = arr(i + m, 12 + n)
- Next
- Next
- End If
- End If
- Next
- ws.UsedRange.Offset(3).ClearContents
- ws.Range("A4").Resize(UBound(temp), UBound(temp, 2)) = temp
- End Sub
复制代码
|
评分
-
1
查看全部评分
-
|