To avoid truncation, copy the cells of the source sheet to the destination (rather than copying the entire sheet).
- 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.
- In the error message dialog box, click OK.
- Switch to the original worksheet.
- Press CTRL+A or click the Select All button in the upper-left corner of the worksheet.
- On the Edit menu, click Copy.
- Activate the new worksheet and select cell A1.
- On the Edit menu, click Paste.
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.
'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.
'ySheet is the new worksheet.
Set ySheet = ActiveSheet
'Copy all of the cells on the original worksheet...
'...activate the new worksheet...
'...and paste the copied cells. All cells in the new worksheet
'now have the correct contents.
'Clear out the clipboard and select cell A1.
Application.CutCopyMode = False
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.
ID d'article : 213548 - Dernière mise à jour : 30 oct. 2007 - Révision : 1