ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Programming for Excel Charts (https://www.excelbanter.com/excel-programming/422288-programming-excel-charts.html)

AstroProg

Programming for Excel Charts
 
The code below gives a Type Mismatch error on the .MinimumScale = startmonth
and the line afterward. This worked in Excel 2003 but gives the error in
Excel 2007. It appears you cannot use a string with the MinimumScale command.

Any ideas how to work around this? startmonth and stopmonth are dates such
as 01/01 and 01/31. Below is the VBA code.

Chart1.Activate
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MinimumScaleIsAuto = False
.MaximumScaleIsAuto = False
.MinimumScale = startmonth
.MaximumScale = endmonth


joel

Programming for Excel Charts
 
I don't have Excel 2007 but I usually solve these problems by using the Macro
Recorder. Start Recording a macro and then make the scale changes manually.
Highlight the axis with the mouse and then double click to bring up scale
properties. Make the change you want and then stop recording.

"AstroProg" wrote:

The code below gives a Type Mismatch error on the .MinimumScale = startmonth
and the line afterward. This worked in Excel 2003 but gives the error in
Excel 2007. It appears you cannot use a string with the MinimumScale command.

Any ideas how to work around this? startmonth and stopmonth are dates such
as 01/01 and 01/31. Below is the VBA code.

Chart1.Activate
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MinimumScaleIsAuto = False
.MaximumScaleIsAuto = False
.MinimumScale = startmonth
.MaximumScale = endmonth


AstroProg

Programming for Excel Charts
 
A Macro won't work here. The min and max for the x axis of the graph change
each month, so they need to determined by using code to go through a list of
dates.

"Joel" wrote:

I don't have Excel 2007 but I usually solve these problems by using the Macro
Recorder. Start Recording a macro and then make the scale changes manually.
Highlight the axis with the mouse and then double click to bring up scale
properties. Make the change you want and then stop recording.

"AstroProg" wrote:

The code below gives a Type Mismatch error on the .MinimumScale = startmonth
and the line afterward. This worked in Excel 2003 but gives the error in
Excel 2007. It appears you cannot use a string with the MinimumScale command.

Any ideas how to work around this? startmonth and stopmonth are dates such
as 01/01 and 01/31. Below is the VBA code.

Chart1.Activate
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MinimumScaleIsAuto = False
.MaximumScaleIsAuto = False
.MinimumScale = startmonth
.MaximumScale = endmonth


joel

Programming for Excel Charts
 
A macro is CODE. There is no difference. Using the macro recorder will help
you to determine the correct syntex. You can then modifiy the recorded macro
as required.

"AstroProg" wrote:

A Macro won't work here. The min and max for the x axis of the graph change
each month, so they need to determined by using code to go through a list of
dates.

"Joel" wrote:

I don't have Excel 2007 but I usually solve these problems by using the Macro
Recorder. Start Recording a macro and then make the scale changes manually.
Highlight the axis with the mouse and then double click to bring up scale
properties. Make the change you want and then stop recording.

"AstroProg" wrote:

The code below gives a Type Mismatch error on the .MinimumScale = startmonth
and the line afterward. This worked in Excel 2003 but gives the error in
Excel 2007. It appears you cannot use a string with the MinimumScale command.

Any ideas how to work around this? startmonth and stopmonth are dates such
as 01/01 and 01/31. Below is the VBA code.

Chart1.Activate
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MinimumScaleIsAuto = False
.MaximumScaleIsAuto = False
.MinimumScale = startmonth
.MaximumScale = endmonth


Jon Peltier

Programming for Excel Charts
 
Is startmonth a date, or a string containing a month name? If It's a
nonnumeric and non-date string, it didn't work in 2003 either.

In the Format Axis dialog, Excel 2003 and earlier allowed you to enter min
and max for any axis as numbers, dates, times, whatever you had. Excel 2007
allows a date scale axis to be controlled using dates only (no numbers), and
value axes to be controlled using numbers only (no dates and times). I don't
know if the problem extends to VBA. I doubt it, but you never know.

If this is a value axis and your scale parameters are dates, try converting
them to numbers, using CDbl(startmonth) etc.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services, Inc.
http://PeltierTech.com/WordPress/
_______


"AstroProg" wrote in message
...
The code below gives a Type Mismatch error on the .MinimumScale =
startmonth
and the line afterward. This worked in Excel 2003 but gives the error in
Excel 2007. It appears you cannot use a string with the MinimumScale
command.

Any ideas how to work around this? startmonth and stopmonth are dates
such
as 01/01 and 01/31. Below is the VBA code.

Chart1.Activate
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MinimumScaleIsAuto = False
.MaximumScaleIsAuto = False
.MinimumScale = startmonth
.MaximumScale = endmonth





All times are GMT +1. The time now is 11:15 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com