You may receive a "Run-time error 1004" error message when you programmatically set a large array string to a range in Excel 2003

Support for Office 2003 has ended

Microsoft ended support for Office 2003 on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

This article has been archived. It is offered "as is" and will no longer be updated.
In Office Excel 2003, when you programmatically set a range value with an array containing a large string, you may receive an error message similar to the following:
Run-time error '1004'.
Application-defined or operation-defined error.
This issue may occur if one or more of the cells in an array (range of cells) contain a character string that is set to contain more than 911 characters.
To work around this issue, edit the script so that no cells in the array contain a character string that holds more than 911 characters.

For example, the following line of code from the example code block below defines a character string that contains 912 characters:
Sub XLTest()Dim aValues(4)   aValues(0) = "Test1"  aValues(1) = "Test2"  aValues(2) = "Test3"   MsgBox "First the Good range set."  aValues(3) = String(911, 65)    Range("A1:D1").Value = aValues   MsgBox "Now the bad range set."  aValues(3) = String(912, 66)  Range("A2:D2").Value = aValues End Sub
A character string is a series of characters that are manipulated as a group. The length of a character string is typically the number of characters in it, or the length is pre-defined, as it is in this case.
XL11 XL2003

Article ID: 818808 - Last Review: 12/08/2015 02:34:14 - Revision: 2.0

Microsoft Office Excel 2003

  • kbnosurvey kbarchive kberrmsg kbbug KB818808