Common VBA
Some common boilerplate VBA procedures.
StartPosition determines the start position before running a procedure.
ReturntoStartPosition returns to the position stored by StartPosition.
StartSettings turns off some of the UI to speed up execution.
EndSettings turns the UI back on again.
Option Explicit
Public CurrentWorkbook As String
Public CurrentSheet As String
Public CurrentCell As String
Sub StartPosition()
    
    CurrentWorkbook = ActiveWorkbook.Name
    CurrentSheet = ActiveWorkbook.ActiveSheet.Name
    CurrentCell = ActiveCell.Address
'Determine starting position
End Sub
Sub ReturnToStartPosition()
    
    If IsWkBkOpen(CurrentWorkbook) = False Then
     CurrentWorkbook = Empty
     CurrentSheet = Empty
     CurrentCell = Empty
     Exit Sub
    End If
    
    Windows(CurrentWorkbook).Activate
    ActiveWorkbook.Sheets(CurrentSheet).Select
    ActiveSheet.Range(CurrentCell).Select
'Used stored variables to select original workbook/sheet/cell
    CurrentWorkbook = Empty
    CurrentSheet = Empty
    CurrentCell = Empty
'Clear variables
End Sub
Sub StartSettings()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.StatusBar = "Working . . ."
'Sets screen updating and display alerts to false
End Sub
Sub EndSettings()
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Application.StatusBar = False
'Sets screen updating and display alerts to false
End Sub
A more robust approach to the Settings is to store the existing setting in a variable.
Set the settings that you want and at the end of the code restore the previous settings.
Just like is done for the Start Position.