Excel VBA代码可创建一个文本框,以记录特定的列

时间:2018-12-17 16:41:34

标签: excel vba excel-vba

我正在尝试寻找一种方法来过滤文件中的列,理想情况下,我希望发生的事情是让某人在文本框中输入名称,然后文件将根据该特定名称进行过滤。 我一直在尝试寻找一种在线执行的代码,但是我一直找不到能起作用的代码。

Active  Company Name        ID    Company Profile Owner
Yes     Company 1           B52     Profile 2     Jim
Yes     Company 2           B84     Profile 3     Jack
No      Company 3           B98     Profile 4     Ana
Yes     Company 4           B82     Profile 5     Jim
No      Company 5           B15     Profile 6     Ana

基本上,用户将在文本框中键入所有者的名称,然后代码将根据所有者列进行过滤,以仅显示与该名称关联的记录。

谢谢

1 个答案:

答案 0 :(得分:0)

这是一个答案,因为我要登机,我想尝试输入框。安装这两个宏,然后在第1行上插入两个按钮,将宏分配给按钮。第一个按钮将使用输入框询问您要过滤的列号,第二个按钮用于过滤条件。第二个宏清除过滤器。

Sub Button3_Click()
Dim fldInput As String
Dim criInput As String
fldInput = InputBox("Enter the Column # to Filter")
criInput = InputBox("Enter the String to filter on")

    With ActiveSheet.Range("A1").CurrentRegion
        .AutoFilter
        .AutoFilter Field:=fldInput, Criteria1:=criInput
    End With
End Sub

Sub Button4_Click()
ActiveSheet.Range("A1").CurrentRegion.AutoFilter
End Sub