Make sure you define variables for your workbooks and worksheets properly. You can then use them for your Range and Cells objects to specify in which workbook and worksheet they are. This way you don't need .Activate or .Select because the code even works if the workbook has no focus.
Make sure in your entire code there is no Range and Cells object without a workbook and worksheet specified. Either by using a variable like shown below. Or directly like ThisWorkbook.Worksheets("Sheet1").Range(…).
You only need to .Activate or .Select if you want to focus it for the user. You never need to do this to make VBA work properly (VBA can work with non-focused workbooks/worksheets).
Option Explicit
Sub Update_DHL()
    'open your workbooks
    On Error GoTo ERR_WB_OPEN
    Dim wbTrk As Workbook
    Set wbTrk = Workbooks.Open(Filename:=[truckfilePath])
    
    Dim wbStp As Workbook
    Set wbStp = Workbooks.Open(Filename:=[stopfilePath])
    
    Dim wbDhl As Workbook
    Set wbDhl = Workbooks.Open(Filename:=[dhlfilePath])
    On Error GoTo 0
    
    'define in which worksheet in those workbooks you want to work
    Dim wsTrk As Worksheet
    Set wsTrk = wbTrk.Worksheets("SheetName")
    
    Dim wsStp As Worksheet
    Set wsStp = wsStp.Worksheets("SheetName")
    
    Dim wsDhl As Worksheet
    Set wsDhl = wsDhl.Worksheets("SheetName")
    
    'now work with those worksheets directly (no activate or select needed!)
    wsStp.Range("B2").Formula = "=IF(SUMIF('Route Master.xls'!$C$7:$C$65536,$A2,'Route Master.xls'!$Q$7:$Q$65536)>0,TRUE,FALSE)"
    wsStp.Range("B2").Copy
    wsStp.Range(wsStp.Cells(2, 2), wsStp.Cells(EndRow2, 2)).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        ' note this code does not work because `EndRow2` is nod defined
    'select and activate a specific workbook/worksheet
    'you do this ONLY if you want to focus it for the USER. Never do this for VBA instead work directly with the worksheets as shown above.
    wbDhl.Activate
    wsDhl.Select
    Exit Sub
ERR_WB_OPEN:
    MsgBox "One of the files could not be loaded.", vbCritical
End Sub
Don't forget to close your workbooks wbDhl.Close SaveChanges:=True/False otherwise they stay open.