Hutch,

In the Main sheet module:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$4" Then GetData
End Sub
In the code module:
Sub GetData()
    Dim Loc         As Variant

    On Error GoTo Oops
    Application.EnableEvents = False

    With Worksheets("Main")
        Loc = .Range("D4").Value
        .Protect DrawingObjects:=False, Contents:=True, Scenarios:=False, UserInterfaceOnly:=True
        .Range("A8:K13, A17:I17, A21:G21").ClearContents
    End With

    With Worksheets("MDC sched")
        .Protect DrawingObjects:=False, Contents:=True, Scenarios:=False, UserInterfaceOnly:=True
        .Range("A1").AutoFilter Field:=1, Criteria1:=Loc
        .Range("A1").CurrentRegion.Offset(1).Copy
        Worksheets("Main").Range("A8").PasteSpecial Paste:=xlPasteValues
        .AutoFilterMode = False
    End With

    With Worksheets("USA")
        .Protect DrawingObjects:=False, Contents:=True, Scenarios:=False, UserInterfaceOnly:=True
        .Range("A1").AutoFilter Field:=1, Criteria1:=Loc
        .Range("A1").CurrentRegion.Offset(1).Copy
        Worksheets("Main").Range("A17").PasteSpecial Paste:=xlPasteValues
        .AutoFilterMode = False
    End With

    With Worksheets("GdMrk Contacts")
        .Protect DrawingObjects:=False, Contents:=True, Scenarios:=False, UserInterfaceOnly:=True
        .Range("A1").AutoFilter Field:=1, Criteria1:=Loc
        .Range("A1").CurrentRegion.Offset(1).Copy
        Worksheets("Main").Range("A21").PasteSpecial Paste:=xlPasteValues
        .AutoFilterMode = False
    End With

OutaHere:
    Application.CutCopyMode = False
    Application.EnableEvents = True
    Exit Sub

Oops:
    MsgBox "Error!"
    Resume OutaHere
End Sub
All completely untested ...