高级过滤器超链接

时间:2015-07-30 20:22:52

标签: excel vba excel-vba hyperlink

使用高级过滤器在同一工作簿中的单独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

1 个答案:

答案 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