Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1950|回复: 5

[已解决]历遍工作表复制数据的问题

[复制链接]
发表于 2013-12-18 10:13 | 显示全部楼层 |阅读模式
本帖最后由 Redgirl 于 2013-12-18 11:01 编辑

附件 历遍工作表提取数据附件.zip (28.11 KB, 下载次数: 24)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-12-18 10:33 | 显示全部楼层
Sub Click()
    Dim A, B, n, s
    Dim i, j, k

    n = Sheets.Count
    ReDim A(1 To 4 * (n - 1), 1 To 12)


    For i = 2 To n
        '复制一个表
        B = Sheets(i).Range("A36:L38")
        For j = 1 To UBound(B)
            s = s + 1
            For k = 1 To UBound(B, 2)
                A(s, k) = B(j, k)
            Next k
        Next j

        s = s + 1
    Next

    Sheets(1).Range("A:L").ClearContents
    Sheets(1).Range("A1").Resize(UBound(A), UBound(A, 2)) = A
End Sub
历遍工作表提取数据附件2.rar (47.59 KB, 下载次数: 9)

评分

参与人数 1 +1 收起 理由
Redgirl + 1 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2013-12-18 10:36 | 显示全部楼层    本楼为最佳答案   
  1. Sub test()
  2.     Sheets(1).Select
  3.     r = Range("A65536").End(xlUp).Row + 2
  4.     For i = 2 To Sheets.Count
  5.         With Sheets(i)
  6.             n = .Range("A65536").End(xlUp).Row - 2
  7.             .Rows(n).Resize(3).Copy Cells(r, 1)
  8.             r = r + 4
  9.         End With
  10.     Next
  11. End Sub
复制代码

评分

参与人数 1 +1 收起 理由
Redgirl + 1 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-12-18 11:02 | 显示全部楼层
谢谢老师们帮助。二楼忘了把后面的数据也复制出来。
回复

使用道具 举报

发表于 2013-12-18 11:03 | 显示全部楼层
可以用公式处理
A1=IF(MOD(ROW(), 4)=0,"",INDIRECT("Sheet"&TRUNC((ROW())/4)+2&"!"&ADDRESS((36+MOD(ROW(), 4)-1),COLUMN())))
公式右拉、下拉。
回复

使用道具 举报

发表于 2013-12-18 13:25 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-17 09:05 , Processed in 0.401328 second(s), 18 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表