Excel精英培训网

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

[已解决]帮忙控件修改

[复制链接]
发表于 2012-4-7 17:01 | 显示全部楼层 |阅读模式
这是一个查找控件,我现在又增加了四个新的工作表,当我点查找后新工作表不想加入到查找中,请问要怎么改,我想要的结果是只查找1月到12月的内容,新增加的表除外,谢谢帮忙
最佳答案
2012-4-7 17:12
本帖最后由 lisachen 于 2012-4-7 17:15 编辑


  1. Private Sub CommandButton1_Click()
  2.     Dim Arr11()
  3.     BH = TextBox1.Value
  4.     HZXM = TextBox2.Value
  5.     For Each SHT In Sheets
  6.         If SHT.Name Like "*月" Then
  7.             With SHT
  8.                 ROW1 = .Range("A" & .Rows.Count).End(xlUp).Row
  9.                 Arr1 = .Range("A2:I" & ROW1)
  10.                 For I = 1 To UBound(Arr1)
  11.                     If Arr1(I, 1) = BH Or Arr1(I, 2) = HZXM Then
  12.                         M = M + 1
  13.                         ReDim Preserve Arr11(1 To 9, 1 To M)
  14.                         Arr11(1, M) = SHT.Name
  15.                         For J = 1 To 8
  16.                             Arr11(J + 1, M) = Arr1(I, J)
  17.                         Next J
  18.                     End If
  19.                 Next I
  20.             End With
  21.         End If
  22.     Next SHT
  23.     Sheets("查找").Select
  24.     Sheets("查找").Range("A2").Resize(UBound(Arr11, 2), UBound(Arr11)) = Application.Transpose(Arr11)
  25.     TextBox1.Value = ""
  26.     TextBox2.Value = ""
  27. End Sub
复制代码
学习-2.rar (38.89 KB, 下载次数: 1)

学习-2.rar

36.51 KB, 下载次数: 22

发表于 2012-4-7 17:12 | 显示全部楼层    本楼为最佳答案   
本帖最后由 lisachen 于 2012-4-7 17:15 编辑


  1. Private Sub CommandButton1_Click()
  2.     Dim Arr11()
  3.     BH = TextBox1.Value
  4.     HZXM = TextBox2.Value
  5.     For Each SHT In Sheets
  6.         If SHT.Name Like "*月" Then
  7.             With SHT
  8.                 ROW1 = .Range("A" & .Rows.Count).End(xlUp).Row
  9.                 Arr1 = .Range("A2:I" & ROW1)
  10.                 For I = 1 To UBound(Arr1)
  11.                     If Arr1(I, 1) = BH Or Arr1(I, 2) = HZXM Then
  12.                         M = M + 1
  13.                         ReDim Preserve Arr11(1 To 9, 1 To M)
  14.                         Arr11(1, M) = SHT.Name
  15.                         For J = 1 To 8
  16.                             Arr11(J + 1, M) = Arr1(I, J)
  17.                         Next J
  18.                     End If
  19.                 Next I
  20.             End With
  21.         End If
  22.     Next SHT
  23.     Sheets("查找").Select
  24.     Sheets("查找").Range("A2").Resize(UBound(Arr11, 2), UBound(Arr11)) = Application.Transpose(Arr11)
  25.     TextBox1.Value = ""
  26.     TextBox2.Value = ""
  27. End Sub
复制代码
学习-2.rar (38.89 KB, 下载次数: 1)
回复

使用道具 举报

 楼主| 发表于 2012-4-7 17:25 | 显示全部楼层
lisachen 发表于 2012-4-7 17:12

唉!文盲真可怕,我这一句,我改了半天,感谢解决,我还有一个引用函数怎么结果是错的,你再帮我看看,我想要的结果是不出现同一个名字

Book1.rar

3.9 KB, 下载次数: 13

回复

使用道具 举报

发表于 2012-4-7 17:33 | 显示全部楼层
本帖最后由 lisachen 于 2012-4-7 17:36 编辑
lwlw 发表于 2012-4-7 17:25
唉!文盲真可怕,我这一句,我改了半天,感谢解决,我还有一个引用函数怎么结果是错的,你再帮我看看,我 ...

  1. =IF(ROW()<=ROUND(SUM(1/COUNTIF(Sheet1!$B$2:$B$14,Sheet1!$B$2:$B$14)),0),INDEX(Sheet1!$B$2:$B$14,SMALL(IF(MATCH(Sheet1!$B$2:$B$14,Sheet1!$B$2:$B$14,0)=ROW(Sheet1!$B$1:$B$13),ROW(Sheet1!$B$2:$B$14)),ROW())),"")
复制代码
=IF(ROW()<=ROUND(SUM(1/COUNTIF(Sheet1!$B$2:$B$14,Sheet1!$B$2:$B$14)),0),INDEX(Sheet1!$B$2:$B$14,SMALL(IF(MATCH(Sheet1!$B$2:$B$14,Sheet1!$B$2:$B$14,0)=ROW(Sheet1!$B$1:$B$13),ROW(Sheet1!$B$2:$B$14)),ROW())),"")
没简化

回复

使用道具 举报

发表于 2012-4-7 17:34 | 显示全部楼层
时间比较紧要下班了 不知是不是这个意思
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-23 14:24 , Processed in 0.288260 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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