Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am getting a very strange error anytime I try to use a formula pointing to a cell in a different sheet from the active one (even as simple as "=Sheet2!A1"). This started happening all of a sudden, and without any change in the system - only I seem to having started having the problem since I started using a workbook from another colleague with the same issue. I'm running Excel 2003 SP3 on XP.

With little variants, whenever I reference a cell in a different sheet, from any formula, and then press Enter, the formula gets written on a different cell from the one I was editing it in, and throws a REF error.

Example: I start editing in cell A1 of Sheet 1, type "=", then move the cursor to cell B2 of Sheet 2 (that may contain any value), and press Enter. At this stage you would expect cell A1 in Sheet 1 to contain formula "=Sheet2!B2" and display the value in that cell. Instead what happens is that the cell remains empty, and another random cell of Sheet 1 gets populated with something like "=Sheet2!#REF!" throwing an error.

Interestingly, the error does not happen when I manually type the cell reference in (ie. without moving the cursor to the second sheet).

Hope this is making any sense - any ideas are welcome! Thanks.

share|improve this question

migrated from May 6 '11 at 13:11

This question came from our site for professional and enthusiast programmers.

This doesn't happen with any other workbook? The only possible explanations I can think of are

  1. A corrupted workbook
  2. Some funny code that's messing with you and your colleague. Is there any code in this workbook? Check VBEditor (alt+F11 to access it) and run through each of the Sheet objects and ThisWorkbook to see if there are macros that look like:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
share|improve this answer

You must log in to answer this question.