"Subscript Out of Range" Error When XValues Referenced (139401)



The information in this article applies to:

  • Microsoft Excel for Windows 95
  • Microsoft Excel for Windows 5.0

This article was previously published under Q139401

SYMPTOMS

When you reference values returned by the XValues property in a Microsoft Excel Visual Basic for Applications macro, you may receive the following error message:
Run time error "9":
Subscript out of range

CAUSE

This problem occurs because the XValues property returns a vertical array of x coordinates, which requires that you specify a second dimension for the array or transpose the array into a horizontal array.

RESOLUTION

To read the array of values returned by the Xvalues property, use either of the following methods.

Method 1

To reference the vertical array of values returned by the XValues property, use two-dimensional referencing. For example, reference the array (x) with 1 as the second dimension reference, as in the following macro:
   Sub DisplayXValues()
       Dim TheArray As Variant
       TheArray = ActiveChart.SeriesCollection(1).XValues
       For I = 1 To UBound(TheArray)
           MsgBox TheArray(I, 1)
       Next I
   End Sub
				

Method 2

Use the Transpose function to convert the two-dimensional array (vertical array) into a one-dimensional array (horizontal array). For example, transpose the array as in the following macro:
   Sub DisplayXValues()
      Dim TheArray As Variant
      TheArray = ActiveChart.SeriesCollection(1).XValues
      TheArray = Application.Transpose(TheArray)
      For I = 1 To UBound(TheArray)
         MsgBox TheArray(I)
      Next I
   End Sub
				

STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

Modification Type:MinorLast Reviewed:8/17/2005
Keywords:kberrmsg kbprb KB139401