Try this, although if the user may not have selected the system of delivery when the code is run for the second time.

Is there no way you can check that the delivery system has been chosen?

Private m_blnRunningMacro  As Boolean
Sub PRINTSUPPLYONLY()
    
    Dim lngAns As VbMsgBoxResult
    
    If Not m_blnRunningMacro Then
    
        lngAns = MsgBox("HAVE YOU SELECTED THE SYSTEM IN THE DELIVERY SHEET?", _
                        vbYesNo Or vbQuestion Or vbDefaultButton1, "Delivery sheet")
    Else
        lngAns = vbYes
        m_blnRunningMacro = False
    End If
    
    Select Case lngAns
    Case vbYes
        Sheets("Delivery note").Select
        MsgBox "PLEASE INSERT 1 SHEET OF HEADED PAPER!"
        Sheets("Receipt of deposit letter").Select
        ExecuteExcel4Macro "PRINT(1,,,2,,,,,,,,2,,,TRUE,,FALSE)"
        Sheets("Job Sheet").Select
        ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
        Sheets("Delivery note").Select
        ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
    Case vbNo
        Sheets("Delivery note").Select
        Range("B16").Select
            
        m_blnRunningMacro = True
        
        Exit Sub
    End Select
    
End Sub