XL5: Can't Get or Set Properties of X Axis in XY Scatter ChartLast reviewed: September 2, 1997Article ID: Q111972 |
The information in this article applies to:- Microsoft Excel for Windows, version 5.0
SYMPTOMSIn Microsoft Excel version 5.0, you may receive one of the following error messages when you attempt to set or return the x axis scale properties for an xy (scatter) chart:
Run-time error '1005': "Unable to set the <property> property of the axis class" -or- Run-time error '1005': "Unable to get the <property> property of the axis class" CAUSEThe following Visual Basic axis class properties for the x axis of an xy (scatter) chart may cause the above error messages:
<object>.Axes(xlCategory).MinorUnit <object>.Axes(xlCategory).MajorUnit <object>.Axes(xlCategory).MinimumScale <object>.Axes(xlCategory).MaximumScale <object>.Axes(xlCategory).MinimumScaleIsAuto <object>.Axes(xlCategory).MaximumScaleIsAuto <object>.Axes(xlCategory).MinorUnitIsAuto <object>.Axes(xlCategory).MajorUnitIsAuto <object>.Axes(xlCategory).ScaleType WORKAROUNDTo set any of the above properties when the axis in question is the x axis in an (xy) scatter chart, use the Application.ExecuteExcel4Macro method with the Microsoft Excel 4.0 SCALE() macro command. Below is the syntax of the Visual Basic command:
' Enter the following line of code as a single, continuous line: Application.ExecuteExcel4Macro _ ("SCALE(min_num,max_num,major,minor,cross,logarithmic,reverse,max)")The following values are acceptable for the arguments for this method
Argument value equivalent to --------------------------------------------------- min_num TRUE MinimumScaleIsAuto = True <value> MinimumScale = <value> max_num TRUE MaximumScaleIsAuto = True <value> MaximumScale = <value> major TRUE MajorUnitIsAuto = True <value> MajorUnit = <value> minor TRUE MinorUnitIsAuto = True MinorUnit = <value> cross TRUE Crosses = xlAutomatic (if max = FALSE) <value> Crosses = xlCustom, CrossesAt = <value> (if max = FALSE) logarithmic TRUE ScaleType = xlLogarithmic FALSE ScaleType = xlLinear reverse TRUE ReversePlotOrder = True FALSE ReversePlotOrder = False max TRUE Crosses = xlMaximum FALSE see "cross", aboveFor example, to set the minimum scale of the X axis to 5, the maximum scale to 20, and reverse the plot order of the axis, you would use this command:
' This line selects the axis. ActiveSheet.Axes(xlCategory).Select ' This line makes the changes. Application.ExecuteExcel4Macro ("scale(5,20,,,,,true)")Note that the above macro will work only if the chart is created as a separate chart sheet (that is, it will not work with a chart embedded on a worksheet).
STATUSMicrosoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. This problem was corrected in Microsoft Excel for Windows version 5.0c.
REFERENCESFor more information about ExecuteExcel4Macro choose the search button in Visual Basic Help and type:
ExecuteExcel4Macro |
Additional query words: 5.00
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |