MS Excel clipboard abuse

Cut, Pray and Paste Cut and paste -- it could be so easy. Save several flavors of data to the clipboard and retrieve as necessary. This is one of the few features that works pretty consistently across a myriad of applications. There's always someone who has to gum up the works, though. In this case, it's the good folks on Microsoft's Excel team.

Admitedly, Excel is a somewhat more complex application. If a user copies a range containing formulas, how does one deal with changes in between the copy and paste operations. If a cell with dependencies is moved, for example, should formulas on the clipboard data be updated along with those on the original worksheet? Once again, MS demonstrates that, if no perfect solution exists, you've got a great excuse for creating an unnecessarily convoluted mess.

The programmers likely decided to simplify the problem of dependent cell updates by clearing the clipboard whenever the issue arose. This decision set off a chain reaction that snowballed into a train wreck with its own unstoppable momentum.

  1. Once you decide that updating cells with dependencies within the copied cells will clear the clipboard, you must clear the clipboard after all cell updates for consistency's sake.
  2. Once you allow inter-worksheet dependencies, you must apply the above rule to edits of all worksheets.
  3. Once you allow inter-workbook dependencies, you must apply the above rule to edits of all workbooks.

Now that inter-application updates are possible, this gets even sillier. Will a database update trigger the clearing of your clipboard? Because users would be left with no idea whether the clipboard still has data in it, the designers were forced to identify the copied area with a dashed line. This is totally at odds with how every other application functions and breaks down when a document is closed and re-opened. In case this morass is not counter-intuitive enough, it gets worse. Now that MS has introduced the multi-item clipboard, things have gotten even more convoluted. If multiple items have been copied, clipboard behavior reverts to what it should have been all along: data is saved and subsequent updates of the originals have no impact on the copies. You'll find this theme repeaed throughout the Hall of Horrors. Programmers try something clever, paint themselves into a corner and are forced to revert to standardized behavior when things get too tricky.