|
本帖最后由 飞云流水 于 2011-12-1 22:10 编辑
大师帮忙把不同车间数据汇总至汇总表,有点麻烦,请各位看看!多谢!
汇总表 和 三个子表要放在一个文件夹下, 然后在汇总表中插入以下代码, - Option Explicit
- Sub 汇总周报数据()
- Dim i As Integer, j As Integer
- Dim wb1 As Workbook, wb2 As Workbook, wb3 As Workbook
- j = -2
- For i = 1 To Windows.Count
- If Windows(i).Caption = "战狼队一车间周报.xlsx" Then
- Set wb1 = Workbooks("战狼队一车间周报.xlsx")
- Exit For
- End If
- Next
- For i = 1 To Windows.Count
- If Windows(i).Caption = "雄鹰队二车间周报.xlsx" Then
- Set wb2 = Workbooks("雄鹰队二车间周报.xlsx")
- Exit For
- End If
- Next
- For i = 1 To Windows.Count
- If Windows(i).Caption = "飞虎队三车间周报.xlsx" Then
- Set wb3 = Workbooks("飞虎队三车间周报.xlsx")
- Exit For
- End If
- Next
- If wb1 Is Nothing Then Set wb1 = Workbooks.Open(ThisWorkbook.Path & "\战狼队一车间周报.xlsx")
- If wb2 Is Nothing Then Set wb2 = Workbooks.Open(ThisWorkbook.Path & "\雄鹰队二车间周报.xlsx")
- If wb3 Is Nothing Then Set wb3 = Workbooks.Open(ThisWorkbook.Path & "\飞虎队三车间周报.xlsx")
- For i = 3 To 5000 Step 5
-
- If wb1.Sheets(1).Range("f" & i) = "" And wb2.Sheets(1).Range("f" & i) = "" And wb3.Sheets(1).Range("f" & i) = "" Then
- Exit For
- End If
- j = j + 5
- wb1.Sheets(1).Range("f" & i).Resize(5, 11).Copy ThisWorkbook.Sheets(1).Range("f" & j)
- j = j + 5
- wb2.Sheets(1).Range("f" & i).Resize(5, 11).Copy ThisWorkbook.Sheets(1).Range("f" & j)
- j = j + 5
- wb3.Sheets(1).Range("f" & i).Resize(5, 11).Copy ThisWorkbook.Sheets(1).Range("f" & j)
- Next
- wb1.Close True
- wb2.Close True
- wb3.Close True
-
- End Sub
复制代码
|
|