|
本帖最后由 oldwang 于 2021-11-10 09:17 编辑
大佬们,我想把表1 2 3的B:F列数据按照从上到下从左到右的顺序平均分配汇总到表“总”的1、4列,求大佬写个代码我学习学习。
- Sub 宏2()
- Dim ws As Worksheet
- Dim i%, arr(1 To 1, 1 To 200), x%, j%, K%, L%, S As Integer, M, N
- For i = 1 To Sheets.Count
- If Sheets(i).Name <> "总" Then
- S = Sheets(i).UsedRange.Rows.Count
- For M = 1 To S
- For N = 2 To 6
- If Len(Sheets(i).Cells(M, N)) > 0 Then
- j = j + 1
- arr(1, j) = Sheets(i).Cells(M, N)
- End If
- Next
-
- Next
- End If
- Next
- For K = 1 To Int((j + 1) / 2)
- Cells(K, 1) = arr(1, K)
- Next
- For L = K To j
- Cells(L - K + 1, 4) = arr(1, L)
- Next
- Application.ScreenUpdating = True
- End Sub
复制代码
我感觉 你原来的思路有BUG,当周边有其他数据的时候,就会把不相干 周边的列的内容给导过来。所以我重新换了一种思路
|
|