使用高级过滤器在同一工作簿中的单独wksht上创建过滤器。在列表范围内是具有超链接的单元格。高级过滤器打开将第1行,第2行等全部带到工作表。名为Title的列将引入不附加超链接的字符串。如何将超链接带到Sheet以及所有其他信息。
为了清晰起见,下面的宏:
Sub Filterme() Filterme Macro
'
'
Sheet10.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy,
_ CriteriaRange:=Range("FilterData!Criteria"), CopyToRange:=Range(
_ "FilterData!Extract"), Unique:=False
End Sub
答案 0 :(得分:0)
不是使用Action:=xlFilterCopy
,而是通过Action:=xlFilterInPlace
获取已过滤行的(可能不连续)范围,然后在重置可见过滤器之前复制结果。以下代码将高级过滤器应用于Sheet1
上的数据,使用A1:B2
范围内的条件影响从A7
开始的行,然后在清除之前将过滤结果复制到Sheet3
Sheet1
上的过滤器:
Sub FilterIt()
Dim Rng As Range
Worksheets("Sheet1").Activate
Worksheets("Sheet1").Range("A7").CurrentRegion.AdvancedFilter _
Action:=xlFilterInPlace, _
CriteriaRange:=Range("$A$1:$B$2"), _
Unique:=False
Set Rng = Worksheets("Sheet1").Range("A7").CurrentRegion.SpecialCells(xlVisible)
Worksheets("Sheet1").ShowAllData
Rng.Copy
Worksheets("Sheet3").Range("A1").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
End Sub