链接到唯一行并使用VBA进行相应过滤

时间:2018-07-30 06:39:50

标签: excel vba button filter hyperlink

我正在尝试创建一个启用宏的按钮或超链接,一旦单击该按钮或超链接将链接到同一行中的值,复制其值并转到另一张工作表,然后基于该值应用过滤器。

edit:这是我使用的超链接公式。

=HYPERLINK("#Sheet2!d6","Press button to filter")

子Macro2() '

' Macro2 Macro
'

'
    ActiveCell.Select
    Application.Goto Reference:="R6C4"
    Selection.Copy
    Sheets("Database").Select
    ActiveCell.Offset(-33, 3).Range("A1").Select
    ActiveSheet.Range("$A$3:$R$206909").AutoFilter Field:=8, Criteria1:= _
        "copy this value"
End Sub

这是我尝试使用的宏,但无法获得用于使用该宏的超链接,并且当我尝试在另一行上使用它时,该宏不起作用。

启用宏的按钮
macro enabled button

取值并放入过滤器
takes the value and puts in a filter

1 个答案:

答案 0 :(得分:0)

您只能使用一个按钮。例如。在标题中添加一个按钮,并将其链接到以下过程。

Public Sub FilterByRowValue()
    Dim FilterValue As Variant

    If Selection.Rows.Count = 1 Then
        FilterValue = Selection.EntireRow.Columns("E").Value
    Else
        MsgBox "Please select 1 row only."
    End If

    'filter whatever you want here.
    Worksheets("SheetName").Range("$A$3:$R$206909").AutoFilter Field:=8, Criteria1:=FilterValue
End Sub

因此,您只需要选择所需行中的任何单元格,然后单击按钮即可。它采用您选择的列E的值并对其进行过滤。

根据需要调整代码。