【发布时间】:2016-08-05 02:57:10
【问题描述】:
我在工作表“表格”上创建了一个名为 IntervieweeName 的列表: IntervieweeName named list on Sheet2
在“评估”表上,我创建了一个组合框,其中 ListFillRange 为 IntervieweeName。如果与选定的 IntervieweeName 列表项对应的列中存在“是”,则组合框的目的是让工作表根据条件自动筛选。以下是“评估”表中的相关数据: Yes/No columns for Sheet "Assessment"
为了完成过滤,我创建了这个宏,它可以正常工作。
Private Sub cboIntervieweeName_Change()
Dim IntervieweeName As String
IntervieweeName = Me.cboIntervieweeName
If IntervieweeName = "None" Then
Selection.AutoFilter
End If
If IntervieweeName = "Chuck Fox" Then
ActiveSheet.Range("B6:BL119").AutoFilter _
field:=17, _
Criteria1:="Yes", _
VisibleDropDown:=True
End If
If IntervieweeName = "Rob Copeland 1" Then
ActiveSheet.Range("B6:BL119").AutoFilter _
field:=19, _
Criteria1:="Yes", _
VisibleDropDown:=True
End If
If IntervieweeName = "Rob Copeland 2" Then
ActiveSheet.Range("B6:BL119").AutoFilter _
field:=21, _
Criteria1:="Yes", _
VisibleDropDown:=True
End If
If IntervieweeName = "Rob Copeland 3" Then
ActiveSheet.Range("B6:BL119").AutoFilter _
field:=23, _
Criteria1:="Yes", _
VisibleDropDown:=True
End If
End Sub
我还创建了一个按钮宏来将组合框列表项重置为 0,即无。
Private Sub resetIntervieweeName_Click()
cboIntervieweeName.ListIndex = 0
End Sub
这对于一个实例来说非常有用,但我的团队希望在未来的项目中使用它。如何修改工作表和/或宏以适应在 IntervieweeName 列表中更改名称而无需修改宏?
这是我的第一个宏。总菜鸟。任何帮助表示赞赏,谢谢。
【问题讨论】:
标签: excel vba filter combobox macros