Office中国论坛/Access中国论坛

标题: 一个查找功能的实现(两年也想不出) [打印本页]

作者: woainibb    时间: 2006-12-12 15:51
标题: 一个查找功能的实现(两年也想不出)
我的EXCEL数据表如上的。我每天都要查大量的型号,我所查的只需查型号这一栏。

我现在想把型号,生产厂商,批号,封装,数量,价格,交易说明 各列下的内容全部隐藏起来,意思是在没有搜索的时候各列下的数据不要显示起来让别人看到。 还有就是在数据表H列后有一块灰色的空格,里面可以输入要搜索的内容。例如,我在H列后的那块灰色空格里输入S,马上就在型号列下显示所有以S开头的型号,而型号右边的生产厂商,批号。。。。。。也相应显示对应的数据。输入S后再输入C,马上又在上次以S开头的数据中再筛选以SC开头的型号,生产厂商,批号。。。。。相对应的数据也显示起来。这个表格我看过别人做过了,可是我一直没有成功过,我真觉得晕死啊。[attach]22052[/attach]

作者: 方漠    时间: 2006-12-12 17:09
假设你在H1里输入条件,复制以下代码到你数据所在的工作簿即可。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim StrF As String
If Target.Column = 8 And Target.Row = 1 Then
   StrF = [H1]
   Columns("A:A").Select
   Selection.AutoFilter
   Columns("A:A").AutoFilter Field:=1, Criteria1:="=" & StrF & "*", Operator:=xlAnd
   [A1].Select
End If
End Sub
作者: woainibb    时间: 2006-12-12 21:01
我试了不行了,你能不能把工作表做成一个好的上传到附近里让我下载啊,我看成功不。
作者: guzhen9315    时间: 2006-12-13 03:57
以下是引用方漠在2006-12-12 9:09:00的发言:


假设你在H1里输入条件,复制以下代码到你数据所在的工作簿即可。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim StrF As String
If Target.Column = 8 And Target.Row = 1 Then
   StrF = [H1]
   Columns("A:A").Select
   Selection.AutoFilter
   Columns("A:A").AutoFilter Field:=1, Criteria1:="=" & StrF & "*", Operator:=xlAnd
   [A1].Select
End If
End Sub

[attach]22067[/attach]

作者: whsfhwm    时间: 2006-12-18 06:51
高人。
作者: joyark    时间: 2011-9-2 22:07
非常好 高人




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3