A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
Try this as starting point:
Private Sub CommandButton1_Click()
Call ProcessLocation("Parkersburg-Vienna WV")
End Sub
Private Sub CommandButton2_Click()
Call ProcessLocation("Hagerstown MD")
End Sub
' Etc.
Private Sub ProcessLocation(Location As String)
Dim End_of_Column_G As Range
On Error Resume Next
With Sheets("Performance Report")
.ShowAllData
Set End_of_Column_G = .Range("G65536").End(xlUp)
.Range("A2" & ":" & End_of_Column_G.Address).AutoFilter Field:=1, Criteria1:=Location
With .AutoFilter.Sort
.SortFields.Clear
.SortFields.Add Key:=Range("D2" & ":" & End_of_Column_G.Offset(0, -3).Address), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
End Sub