I too struggled with an EVENT triggered update. So the best way I was able to figure this out, was I put my hotlink on a workbook all by itself. If you downloaded that example, unhide the workbook called "DDE".
As far as my knowledge takes me, using Sub Auto () only excutes when there is a change on the sheet. So it's not infinitely looping like you think.
Knowing that you can see that putting it all by itself is important, and not on the same wroksheet you are trying to store data too. If any other data, or even a human invoked change to the workbook would also fire the Sub Auto () code to excute. Hope I explained that ok.
The other question you asked here:
Done:
Application.Run Macro:="Auto"
NoMacros:
All that part of the code is this...I wrote this code to extract the date from the computer time and made the file name the date of the log sheet. So at Midnight, the file name of the log sheet would save and open a new workbook with the next days date. So anyhow, if you wanted to open a workbook from a previous date, you don't want the code to append or log to an old sheet. Since I did a SAVEAS, all the macros get saved with each sheet. So I checked what file was opened and compared it to today's day. If the file name was older than today's date, I did not want any macros to run. So I made the code jump to the NoMacros: label. If you opened an exsiting log sheet, and it was still today's day, then it would start appending to the end of the sheet. Or if there was no file name that matched today's date, it would create a new file and start logging today's date.
So basically it was what I call the macro police. If I wanted it to log, then I told the code to run the macro "auto", which monitors a hotsheet update of the DDE workbook.
Hope that makes since.