Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: byhdch

[已解决]请问:用VBA 如何提取不固定区域的每周数据

[复制链接]
 楼主| 发表于 2011-11-7 00:41 | 显示全部楼层
回复 zjdh 的帖子

zjdh老师! 请问:数据复制时能否只复制本月及上月,若数据很多时,不必全复制,代码如何变动?                 谢谢!
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2011-11-7 20:32 | 显示全部楼层
zjdh 发表于 2011-11-7 08:58

谢谢!!!
回复

使用道具 举报

 楼主| 发表于 2011-11-10 18:22 | 显示全部楼层
zjdh 发表于 2011-11-7 08:58

zjdh老师:
     数据复制为什么中断,请帮助看看代码。          谢谢!

请帮助完善代码.rar

33.65 KB, 下载次数: 6

回复

使用道具 举报

发表于 2011-11-10 20:23 | 显示全部楼层
  1. Sub test()
  2.     Application.DisplayAlerts = False
  3.     Set WK = Workbooks.Open(ThisWorkbook.Path & "\数据.xls")
  4.     With WK
  5.         Sheets.Add(after:=Sheets(Sheets.Count)).Name = "TEMP"
  6.         ActiveSheet.Name = "TEMP"
  7.         For Each SH In .Sheets
  8.             If SH.Name <> "TEMP" Then
  9.                 SH.Range("A2:X" & SH.Range("B65536").End(3).Row - 4).Copy .Sheets("TEMP").Range("A65536").End(3)(14)
  10.             End If
  11.         Next
  12.         Arr = .Sheets("TEMP").Range("A14:X" & .Sheets("TEMP").Range("B65536").End(3).Row)
  13.         .Sheets("TEMP").Delete
  14.         .Close False
  15.     End With
  16.     Range("B7:Y90").ClearContents
  17.     For i = 2 To UBound(Arr) Step 12
  18.         If Date < Arr(i, 1) Then
  19.             W = 7      '从第七行开始
  20.             For J = i - 84 To i - 1
  21.                 For N = 1 To 24
  22.                     Cells(W, N + 1) = Arr(J, N)
  23.                 Next
  24.                 W = W + 1
  25.             Next
  26.             Exit For
  27.         End If
  28.     Next
  29.     Application.DisplayAlerts = True
  30. End Sub
复制代码

点评

非常感谢!!  发表于 2011-11-10 20:57
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 00:14 , Processed in 0.708580 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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