|
本帖最后由 文轩馨婷 于 2014-6-27 08:35 编辑
与其说是修改代码,还不如说是求助编写代码(因为我也是在度娘哪里抄来的——而且没起到作用)
望:各位前辈们不吝赐教!!——有更好的模本我照样全收!
在此先谢过了!
要求:1.A1:E2是高级筛选的条件区
2.如何在B2:E2区域中填入需查找的“编码/名称/通知书号/出货日期”既可精确查找又可模糊查找并且查到的数据直接筛选在下面——查找的对象是“北海出货明细”
Sub 查询筛选()
Dim Erow, ce
With Sheets("查询筛选")
Erow = Sheets("北海出货明细").[a65536].End(xlUp).Row
.Range("a4:h65536").ClearContents
For Each ce In .[b2:e2]
If ce <> "" Then ce.Value = "*" & ce & "*" '加上通配符*,实现模糊查询
Next
Sheets("北海出货明细").Range("A1:H" & Erow).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
.[a1:h1], CopyToRange:=.[A4], Unique:=False
For Each ce In .[b2:e2]
If ce <> "" Then ce.Value = Mid(ce, 2, Len(ce) - 2) '取消 "*"通配符
Next
End With
End Sub
你试试 - Sub aaa()
- Dim j&
- Range("a5:h" & [a65536].End(3).Row + 1).Clear
- With Sheets("北海出货明细")
- If Cells(2, 5) <> "" Then .UsedRange.AutoFilter Field:=1, Criteria1:=Cells(2, 5).Value Else .UsedRange.AutoFilter Field:=1
- For j = 2 To 4
- If Cells(2, j) <> "" Then .UsedRange.AutoFilter Field:=j, Criteria1:="*" & Cells(2, j) & "*" Else .UsedRange.AutoFilter Field:=j
- Next j
- .UsedRange.Offset(1).Copy [a5]
- .UsedRange.AutoFilter
- End With
- End Sub
复制代码
|
|