"255 characters in cell" error when copying worksheet

Symptoms

When you copy a worksheet in Microsoft Excel, you may receive the following error message:

The sheet you are copying contains cells that have more than 255 characters in them. Copying an entire sheet truncates cells that contain more than 255 characters.

To avoid truncation, copy the cells of the source sheet to the destination (rather than copying the entire sheet).
Cells in the new worksheet are all truncated so that they contain no more than 255 characters.

Cause

This behavior occurs if one or both of the following conditions are true:
  • One or more cells in the worksheet contains a string of characters that exceeds 255 characters in length, for example: a string of 300 "x" characters or a very long sentence.
  • One or more cells in the worksheet contains a formula whose length exceeds 255 characters.

Workaround

If you manually copy a worksheet and receive this error message, follow these steps to make the new worksheet identical to the original worksheet:
  1. In the error message dialog box, click OK.
  2. Switch to the original worksheet.
  3. Press CTRL+A or click the Select All button in the upper-left corner of the worksheet.
  4. On the Edit menu, click Copy.
  5. Activate the new worksheet and select cell A1.
  6. On the Edit menu, click Paste.
The new worksheet should now be identical to the original worksheet.


If cells in your worksheet are truncated when you use a Microsoft Visual Basic for Applications macro to copy a worksheet, you can modify the macro so that it copies the sheet successfully. The following sample subroutine demonstrates how you can do this.


Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure. However, they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
    Sub Test()

'Turn off screen updating while the macro runs.
Application.ScreenUpdating = False

'xSheet is the sheet we want to copy.
Set xSheet = ActiveSheet

'Copy the worksheet to the destination you want. Cells with more
'than 255 characters will be truncated by this step.
xSheet.Copy Before:=Sheets(xSheet.Index)

'ySheet is the new worksheet.
Set ySheet = ActiveSheet

'Copy all of the cells on the original worksheet...
xSheet.Range("A:IV").Copy

'...activate the new worksheet...
ySheet.Range("A1").Select

'...and paste the copied cells. All cells in the new worksheet
'now have the correct contents.
ySheet.Paste

'Clear out the clipboard and select cell A1.
Application.CutCopyMode = False
Range("A1").Select

End Sub

More Information

If you use a Visual Basic macro to copy a worksheet, you do not receive the error message shown above. However, cells in your worksheet are still truncated to 255 characters.


Note that a short formula that returns a long string of characters does not cause this problem to occur. For example: the formula =REPT("x",400) returns a string of 400 "x" characters, but copying a sheet containing this formula does not cause the problem to occur.


Note also that this problem does not occur if you move a worksheet from one workbook to another, or if you move it within the same workbook. The problem only occurs when you copy a worksheet.

Svojstva

ID članka: 213548 - posljednja izmjena: 30. lis 2007. - verzija: 1

Povratne informacije