Excel精英培训网

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

[已解决]用vba自动提取工作表数据,要求见附件

[复制链接]
发表于 2010-3-20 11:58 | 显示全部楼层 |阅读模式
用vba自动提取工作表数据,要求见附件,20个BB聊表心意 RwCIV4Sp.rar (4.33 KB, 下载次数: 46)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2010-3-20 12:09 | 显示全部楼层

Sub test()
    Dim xlSht As Worksheet
    Worksheets("汇总").Range("b4:f65536").ClearContents
    For Each xlSht In Worksheets
        With xlSht
            If .Name <> "汇总" Then .Range("b4:f6").Copy Worksheets("汇总").Range("b65536").End(xlUp).Offset(1, 0)
        End With
    Next
End Sub
回复

使用道具 举报

发表于 2010-3-20 12:12 | 显示全部楼层

Sub aa()
For i = 2 To Sheets.Count
j = [b65536].End(xlUp).Row + 1
Sheets(i).Range("B4:F6").Copy Cells(j, 2)
Next
End Sub
回复

使用道具 举报

 楼主| 发表于 2010-3-20 16:21 | 显示全部楼层

只复制值怎么写?不要连公式格式一起复制,我录制了一下宏  老是修改不好

回复

使用道具 举报

发表于 2010-3-20 16:28 | 显示全部楼层

类似于这样子只复制值。sheet1.range("A1:B4")=sheet2.range("B2:C5").value
回复

使用道具 举报

发表于 2010-3-20 16:36 | 显示全部楼层    本楼为最佳答案   

Sub aa()
    Dim arr
    Dim i As Long
    For i = 2 To Sheets.Count
        arr = Sheets(i).Range("B4:F6")
        Sheet1.Range("B65536").End(xlUp).Offset(1, 0).Resize(3, 5) = arr
    Next i
End Sub
回复

使用道具 举报

发表于 2010-3-21 03:23 | 显示全部楼层

学习[em02][em02]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 08:49 , Processed in 0.281071 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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