Excel精英培训网

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

[已解决]麻烦各位老师知道如何筛选生成新表,请看附件里说明。

[复制链接]
发表于 2014-3-6 20:34 | 显示全部楼层 |阅读模式
麻烦各位老师知道如何筛选生成新表,请看附件里说明 工作簿3.rar (15.51 KB, 下载次数: 8)
发表于 2014-3-6 21:09 | 显示全部楼层    本楼为最佳答案   
请先保存好副本,只有数据格式要自己重新设置了
  1. Sub test()
  2. Dim br, arr, brr(), r, c, x, y
  3. br = Range("a1:h" & [a65536].End(xlUp).Row)
  4. arr = Range("i1:p" & [i65536].End(xlUp).Row)
  5. For c = LBound(arr, 2) To UBound(arr, 2)
  6.     If arr(1, c) >= 0.6 Then
  7.         y = y + 1
  8.         ReDim Preserve brr(1 To 23, 1 To y)
  9.         For r = LBound(arr) To UBound(arr)
  10.             For x = 1 To 23
  11.                 brr(x, y) = arr(x, c)
  12.             Next
  13.         Next
  14.     End If
  15. Next
  16. Sheets("百分比筛选").Range("l1").Resize(23, 8) = br
  17. Sheets("百分比筛选").Range("t1").Resize(23, y) = brr
  18. y = 0
  19. Erase brr
  20. For c = LBound(arr, 2) To UBound(arr, 2)
  21.     If arr(2, c) <= 3 Then
  22.         y = y + 1
  23.         ReDim Preserve brr(1 To 23, 1 To y)
  24.         For r = LBound(arr) To UBound(arr)
  25.             For x = 1 To 23
  26.                 brr(x, y) = arr(x, c)
  27.             Next
  28.         Next
  29.     End If
  30. Next
  31. Sheets("最大未报筛选").Range("l1").Resize(23, 8) = br
  32. Sheets("最大未报筛选").Range("t1").Resize(23, y) = brr
  33. erase brr
  34. set br=nothing
  35. set arr=nothing
  36. End Sub
复制代码

评分

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

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-3-9 18:13 | 显示全部楼层
独奏 发表于 2014-3-6 21:09
请先保存好副本,只有数据格式要自己重新设置了

感谢老师的帮助,谢谢!~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-25 16:39 , Processed in 0.288856 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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