Fog Creek Software
Discussion Board




Why is this feature in Excel still broken?

Mark Hurst points to an Excel "feature" that has bugged me for a LONG time:

http://broken.typepad.com/b/2004/02/microsoft_excel.html

If you copy some cells to the clipboard, the data doesn't stay there if you enter some stuff in another cell. This works against all known user mental models of the clipboard.

Since you worked on the Excel team, and I'm sure Microsoft knows about this (they do; see comments in the above URL), why do you think nobody has bothered to fix this? It's not as if it will break compatibility with other versions.

Aragorn Greenleaf
Monday, March 08, 2004

The official reason is that Excel doesn't really have cut and paste, it has move and copy. That's necessary because Excel automatically does reference fix up. For example, if cell A2 is defined as =A1, and you move cell A1 to A3, cell A2 will be updated to =A3.

If Excel actually cut things to the clipboard you would somehow need to have a reference pointing >into< the clipboard which is bizarre and for which there is no reasonable syntax. In other words, Excel doesn't want to leave you with dangling references during a move operation and isn't confident that it would be able to fix them up correctly when you completed the move by selecting "Paste."

Joel Spolsky
Fog Creek Software
Tuesday, March 09, 2004

Can somebody explain a little more clearly what happens.

When I copy a range of cells from Excel and then enter some data within that range the checked lines aroud what was to be copied disappear. The file still apears on the office clipbard though. If I attempt to paste data within the same spreadsheet I find the right contect menu has paste grayed out and Crtl+V doesn't work. But clicking on the file on the office clipboard does.

If the behaviour is by design as Joel suggests, why does the mamer of pasting make a difference.

Or am I missing something blindingly obvious?

Stephen Jones
Tuesday, March 09, 2004

I think there are two modes going on.  Yes, as Joel says in the context of Excel the copy is a move and if you fiddle with the content or context of that move all bets are off and Excel retreats to a sane position.

But I think current behaviour also copies that original selection to one of the office clipboards.

This is surmise on my part, I don't use multiple clipboards I have sufficient difficulty with eight fingers and two thumbs.

Simon Lucy
Tuesday, March 09, 2004

It doesn't work for COPY and paste either. Hmph!

Wasn't one of Joel's UI guidelines not to expose the user to the innards of the system?

Rotunda
Wednesday, March 10, 2004

It's broken and unnecessary.  The behavior could be better if it were implemented as follows:

1. If no dangling reference situation is created, copy should always work as expected.

2. If a dangling reference situation is created, copy should still work for external apps since external apps will only use the data copied, not the underlying references and such.  It will still fail in Excel, and the user should be explicitly notified (preferably not through a popup please).

Matt
Wednesday, March 10, 2004

If it isn't copy/paste it shouldn't be called that. The product is broken.

Jonas B.
Friday, March 12, 2004

What would you call it?

John Topley (www.johntopley.com)
Friday, March 12, 2004

Even if that explanation made sense for "Cut", it wouldn't for "Copy".  When you use Copy, it doesn't need to fix up any references, because the old ones are still good.  (Maybe they're trying to make Copy consistent with Cut -- and inconsistent with everything else.  It's such a weird mental model they're asking us to adopt, though, I'm not sure this "consistency" is worth much.)

FWIW, in Openoffice, if you copy, edit, paste, that works.  If you cut, edit, paste, that works, too, and it even fixes up the references properly.  Somebody's going to have to come up with an example that works in Excel but fails in Openoffice to convince me.  Joel's trivial example works fine here.

KH
Saturday, March 13, 2004

Think about when Excel was first created--the 1980s.  The dominant spreadsheet at the time was Lotus 1-2-3 and the way you "copy and paste" (/rc .. <enter>)were the keystrokes i thin)) has no resemblence to the Windows clipboard.  It's much faster within the same sheet (remember they only had 1) to copy and then hit enter to paste.

Take into account that spreadsheet power users don't use a mouse.  If you walk into an office of experienced accountants/investment banking analysts, you'll see incredible things about how effectively they can use a keyboard to manipulate everything.

And if you imagine that Excel changed the behavior to accomodate every new UI standard that base of power users would be totally ticked off.

The Excel/1-2-3 copy/paste model for diehard spreadsheet users works when it comes to working with formulas.  Saying that it's broken is like saying that an HP RPM calculator is broken just because you can't figure out how to use the stack.  But if you ask someone who uses it regularly, they'd never go back.

C. Y.
Tuesday, March 16, 2004

I am having a similar problem with an installed add-in.  I am not a developer and didn't code the add-in (but they are puzzled as to why this is happening also).  When the add-in is installed the copy/paste function doesn't work (i.e. the paste drop down is greyed out, although the clipboard retains the item).  If the add-in is un-installed, the copy/paste function works fine.  There is nothing in the add-in that should be affecting this specific function.

The interesting twist here is that the paste function does work within the same workbook, it is only when trying to paste from one workbook to another.  Pasting into other applications also works fine.

Any ideas?  I am thinking the add-in must be doing something that is causing a behavior similar to what happens when a user does something between the copy and paste function.

Has anyone else had problems with add-ins and the paste function?  Any ideas I could pass to the developer?

burly_tadpole
Tuesday, March 16, 2004

"And if you imagine that Excel changed the behavior to accomodate every new UI standard that base of power users would be totally ticked off."

The problem isn't that excel is doing the "wrong" thing.

The problem is that Excel pretends to be using the standard windows clipboard that every other application uses, but it's really doing something different.

One fix would be to make it use the clipboard normally. Another fix would be to admit it's not using the clipboard and label menus according to what's really happening. Done right this wouldn't affect so-called "power" users, and the people who just want to use excel wouldn't be tricked into misunderstanding how it works.

See? It can be fixed without ticking anyone off.


Sunday, March 21, 2004

I agree that it is broken. I am a power Excel user and this behaviour has annoyed me for years...
My conceptual model of how it should work is this:
clipboard operations operate on an "area" of the spreadsheet. Excel should remember what area I selected when I told it to "Copy" or "Cut" and only worry about what is INSIDE that area when I choose "Paste".

What is on the clipboard should really be of no interest to either the application or the user until it is pasted.

Glenn Tweedie
Sunday, April 18, 2004

*  Recent Topics

*  Fog Creek Home