|
发表于 2013-1-26 21:24
|
显示全部楼层
本楼为最佳答案
本帖最后由 hwc2ycy 于 2013-1-26 21:28 编辑
- Sub 提取1()
- Dim ShtArr, arr(1 To 6, 1 To 1)
- Dim iRow&, i&, j&, k&, iRow2&, iCol&
- Dim shtMerge1$, DestShtArr
- Dim shtPos&
- shtMerge1 = "合并1"
- ShtArr = Array("主表格", "主表格1", "主表格2", "主表格3", "主表格4", "主表格5")
- DestShtArr = Array("合并", "合并1", "合并2", "合并3", "合并4")
- Application.ScreenUpdating = False
-
- With Worksheets(ShtArr(0))
- iRow = .Cells(Rows.Count, "au").End(xlUp).Row
- iCol = .Cells(16, Columns.Count).End(xlToLeft).Column
- End With
-
- For k = 47 To 55 Step 2
- Worksheets(DestShtArr(shtPos)).Columns("j").Clear
- For i = 16 To iRow
- 'Erase arr
- For j = 0 To UBound(ShtArr)
- arr(j + 1, 1) = Worksheets(ShtArr(j)).Cells(i, k)
- If Len(arr(j + 1, 1)) = 0 Then arr(j + 1, 1) = " "
- Next j
-
- With Worksheets(DestShtArr(shtPos))
- iRow2 = .Cells(Rows.Count, "j").End(xlUp).Row + 1
- If iRow2 < 6 Then iRow2 = 6
- .Cells(iRow2, "j").Resize(5) = arr
- .Columns("j").AutoFit
- .Columns("j").HorizontalAlignment = xlLeft
- End With
- Next i
- shtPos = shtPos + 1
- Next k
- Application.ScreenUpdating = True
- MsgBox "提取完成"
- End Sub
复制代码 |
|