|
发表于 2013-12-10 19:43
|
显示全部楼层
本楼为最佳答案
在汇总表中插入一个按钮写入下面的代码- Private Sub CommandButton1_Click()
- ReDim OpData1(1 To 6, 1 To 999999)
- ReDim OpData2(1 To 6, 1 To 999999)
- OpData1N = 0
- OpData2N = 0
- MyPath = ThisWorkbook.Path & "\数据"
- MyName = Dir(MyPath & "*.xlsx")
- Do While MyName <> ""
- Set wk = Workbooks.Open(MyPath & "" & MyName)
- DataArr = wk.ActiveSheet.UsedRange.Value
- TimeData = DataArr(2, 1)
- i = 4
- Do While DataArr(i + 1, 1) <> "尾巴"
- i = i + 1
- OpData1N = OpData1N + 1
- For k = 1 To 5
- OpData1(k, OpData1N) = DataArr(i, k)
- Next k
- OpData1(6, OpData1N) = TimeData
- Loop
- Do While i < UBound(DataArr)
- i = i + 1
- OpData2N = OpData2N + 1
- For k = 1 To 5
- OpData2(k, OpData2N) = DataArr(i, k)
- Next k
- OpData2(6, OpData2N) = TimeData
- Loop
- wk.Close False
- MyName = Dir
- Loop
- ReDim Preserve OpData1(1 To 6, 1 To OpData1N)
- ReDim Preserve OpData2(1 To 6, 1 To OpData2N)
- ReDim OpData_1(1 To OpData1N, 1 To 6)
- ReDim OpData_2(1 To OpData2N, 1 To 6)
- For i = 1 To OpData1N
- For j = 1 To 6
- OpData_1(i, j) = OpData1(j, i)
- Next j
- Next i
- For i = 1 To OpData2N
- For j = 1 To 6
- OpData_2(i, j) = OpData2(j, i)
- Next j
- Next i
- ThisWorkbook.Sheets(1).Range("A" & ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Row + 1).Resize(OpData1N, 6).Value = OpData_1
- ThisWorkbook.Sheets(2).Range("A" & ThisWorkbook.Sheets(2).Range("A65536").End(xlUp).Row + 1).Resize(OpData2N, 6).Value = OpData_2
- End Sub
复制代码 代码执行前确保那些需要汇总的表里面的各种文本框什么的都删除掉,不要有多余的数据什么的就可以了
因为我是日文系统,所以你那个什么尾巴的打不出来,我就只保留“尾巴”两个字了
|
|