Excel精英培训网

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

[已解决]历遍工作表提取数据的问题

[复制链接]
发表于 2016-3-31 19:28 | 显示全部楼层 |阅读模式
本帖最后由 晓敏 于 2016-4-1 18:24 编辑

附件 历遍工作表提取数据附件.rar (108.58 KB, 下载次数: 14)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-3-31 23:38 | 显示全部楼层
附件

历遍工作表提取数据附件.zip

176.88 KB, 下载次数: 11

回复

使用道具 举报

 楼主| 发表于 2016-4-1 06:45 | 显示全部楼层
高 发表于 2016-3-31 23:38
附件

老师你好,谢谢帮助.试了一下,运行正常,仔细查看了一下,有个小问题.

即,当一个工作表中,最后一个大组超过四组或超过五组时,数据无法提取.
比如,你做好的附件中,Sheet10里,五组的共有两个,查询显示的结果却是一个.经仔细试运行,原来,表10里,这没有显示的一组,位置居最后;

经过进一步试运行,发现,凡是位置在各工作表最后一组的,符合条件的数据,都不能提取出来.
回复

使用道具 举报

发表于 2016-4-1 07:10 | 显示全部楼层
  1. Sub Macro1()
  2. Dim arr, d, j%, i&
  3. Set d = CreateObject("scripting.dictionary")
  4. Sheets(1).Activate
  5. [a:j] = "": n = 1: sl = [l1]
  6. For j = 2 To Sheets.Count
  7.     With Sheets(j)
  8.         arr = .Range("a1:i" & .Range("a65536").End(xlUp).Row + 3)
  9.         p = 1
  10.         For i = 2 To UBound(arr) - 1
  11.             If arr(i, 1) = "" And (arr(i + 1, 1) <> "" Or i = UBound(arr) - 1) Then p = p & "," & i
  12.             If arr(i, 1) = "" And arr(i - 1, 1) = "" Then
  13.                 s = s + 1
  14.                 d(s) = p: p = i + 1
  15.             End If
  16.         Next
  17.         For Each m In d.items
  18.             x = Split(m, ",")
  19.             If UBound(x) >= sl Then
  20.                 For i = UBound(x) - 4 + 1 To UBound(x)
  21.                     .Range(.Cells(x(i - 1), 1), .Cells(x(i), "I")).Copy Cells(n, 1)
  22.                     n = Range("a65536").End(xlUp).Row + 1
  23.                 Next
  24.                 Cells(n - 1, "j") = .Name
  25.                 n = n + 2
  26.             End If
  27.         Next
  28.     End With
  29.     d.RemoveAll
  30. Next
  31. End Sub
复制代码

评分

参与人数 1 +2 收起 理由
晓敏 + 2 赞一个

查看全部评分

回复

使用道具 举报

发表于 2016-4-1 10:50 | 显示全部楼层    本楼为最佳答案   
y加了1,问题解决了。

历遍工作表提取数据附件.rar

190.82 KB, 下载次数: 6

评分

参与人数 1 +3 收起 理由
晓敏 + 3 很给力

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 08:40 , Processed in 0.601310 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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