I have tested a few things and had these results:
InitializeExcel
needs to be called every time since at the end of every Subroutine as mentioned sets the xlapp which is the Excel Application Object to Nothing
If I remove the Set xlApp = Nothing
in each subroutine, then I can "re-use" the xlApp
as an Excel Application Object. This however cause an issue in which the Excel Application is kept running in the background and every time I open a new Workbook, then another instance of the Excel Application runs.
So I suppose, the best way was my initial setup in which I call InitializeExcel
and then set everything to Nothing
at each routine the procedure was called.