This has been happening too often since I started using 2016 and it's not just Excel. I've been programming with VBA since it came out and I don't remember ever having to deal with this except in cases where the code really did lock up the program or some other rare case. These aren't real lockups. The program has just stopped responding to user input including ctrl-break.
I can get around the data loss. The real problem is that in some cases, I simply have no way of monitoring longer running routines with loops. I can even program in a "Stop" every thousand loops or so. It has no effect. I get to see that it did in fact enter a stopped state, but only as a flash just before a forced shut down.
The code I'm running today is extremely simple. There's really no other way to do it - just taking the last two characters off of each cell in a large range. I get white screen after about 5 seconds. This isn't the first machine I've used, so I doubt hardware has much to do with it in my case. As a developer, this is far, far beyond the minor annoyance. How do we make sure Microsoft is addressing this?