In the attached:
Dynamic Named Ranges were created for the list of providers and the database of information.
On Sheet2:
Data Validation List option is used to provide selection list of activities
Upon selection of the activity, Advanced Filter is automated using VBA to return the matching providers for that activity. See attached.
Code for worksheet module:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B5")) Is Nothing Then
Get_Providers
End If
End Sub
Code to run Advanced Filter
Option Explicit
Sub Get_Providers()
Dim i As Long
Application.ScreenUpdating = False
Sheet2.Range("B10").CurrentRegion.ClearContents
Sheet1.Range("Providers").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheet2.Range("B1:B2"), CopyToRange:=Sheet2.Range("A10"), Unique:=False
i = Sheet2.Cells(10, Columns.Count).End(xlToLeft).Column
Sheet2.Range(Cells(1, 7), Cells(1, i)).EntireColumn.Delete
Application.ScreenUpdating = True
End Sub
Bookmarks